[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『指定範囲内で最大値の数字(文字列)を参照したい』(キリカ)
A1セルからA5セルにはIF関数を使用して表示した数字が入っています。
数字は0から12と99、そして00の15種類があります。
A1セルからA5セルの中で最も大きい数字をB1セルに表示させたいのですが、00を表示する為、数字は数値ではなく文字列として表示させています。
数値であればMAX関数で対応するところですが、文字列での比較方法がわかりません。
なお、数字の大小は
00 < 0 < 1 < 2 < 3 < 4 < 5 < 6 < 7 < 8 < 9 < 10 < 11 < 12 < 99
として表示させたいです。
文字列での比較方法はありますでしょうか。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
普通に。
=IF(COUNTBLANK(A1:A5)=5,"",IF(COUNTBLANK(A1:A5)+COUNTIF(A1:A5,"*00")=5,"00",MAX(A1:A5))) (GobGob) 2014/09/08(月) 12:21
修正。
=IF(COUNTBLANK(A1:A5)=5,"",IF(COUNTBLANK(A1:A5)+COUNTIF(A1:A5,"*00")=5,"00",MAX(INDEX(A1:A5*1,)))) (GobGob) 2014/09/08(月) 12:21
"*00"ですが、"00"ではできないのが何故かよくわかりません。
ワイルドカードとして使っているのはわかるんですが、"00"の前に付く文字は無いので単純に"00"で良いように思いましたが。実際にワイルドカードを外すと"0"しかない時も"00"になってしまいました。
また、INDEX関数の*1もどういう意味があるのかわかりません。検索してみたのですが答えらしき物が見つけられませんでした。
お手数をお掛けしますが、後学のため教えてください。
(キリカ) 2014/09/08(月) 13:18
別案で。
表示だけの問題なら、A1:A5 と関数のセルを選んで、セルの書式のユーザ設定で [=-1]"00" として、00 を表示したいときは -1 を入力。他は数値に戻して関数は
=MAX(A1:A5)
(Mook) 2014/09/08(月) 13:23
⚫︎ワイルドカードにしないと00を0(数値含む)と認識するから。 ⚫︎A列00以外も文字列ならMAX関数機能しないから*1して数値化。 INDEXにしてるのは配列数式になるからCTRL+SHIFT+ENTER回避。
(GobGob) 2014/09/08(月) 19:42
補足。
ワイルドカードをつけると『○○を含む』みたいに 文字列として処理するんですな。
(GobGob) 2014/09/08(月) 19:50
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.