• ベストアンサー

EXCEL2003Small動作異常?

データ範囲を少し広めにして ブランクセルより「0」値を拾わせようとしたのですが 何故か拾いません。 仕様という名の動作異常ですかね?

質問者が選んだベストアンサー

  • ベストアンサー
noname#204879
noname#204879
回答No.1

いえ、『ブランクセルより「0」値を拾わせようとした』のが無知という名の異常です。 ご希望の動作をさせるには、次の配列数式で如何かと。 {=SMALL(($B$2:$E$8)*1,1)}

Nouble
質問者

お礼

1をかけるですか… なるほど ではこうですね =SMALL(INDEX($B$2:$E$8*1,,),1) つまり仕様変更ですね、 有り難うございます。 ところで、 =任意のブランクセル とすれば0と返ると思うのですが、 これをさして「無知」とする意図を教え頂けないでしょうか? 事実少し前まで0が返されていたように思うのですが… =IF(0=任意のブランクセル,true(),false()) と、すればTRUEと返されますよね? これをさして「無知」とする意図を教え頂けないでしょうか? 上式中の$B$2:$E$8の部分にカーソルを合わせPf9を押せば 最後2つが「0」になりますよね? これをさして「無知」とする意図を教え頂けないでしょうか? 宜しくお願い致します。

その他の回答 (1)

回答No.2

当然ですが、未入力のセルに「0」は入力されていません。例えば A1 セルが未入力のとき、次式をどこかのセルに入力してみてください。 =countif(a1,0) =countif(a1,"") 2 式は、異なる結果を表示します。次に、2 式はそのままにして、A1 に「0」を入力してみてください。 A1 は未入力なのに「=a1」が「0」を表示したりするのは、Excel が気を利かせてくれているだけです。ほんとは「0」じゃないけど、「0」だということにしておいたほうが便利でしょ?というサービス機能です。 >仕様という名の動作異常ですかね? 仕様であるにも関らず異常と呼ばれるケースは稀だと思いますが、バグであれば異常と言って違和感を感じる人はほとんどいないでしょうね。そして、仕様がバグだと位置付けられることは決してないわけですね。なぜならバグとは、ミスだからです。

関連するQ&A

専門家に質問してみよう