プロが教える店舗&オフィスのセキュリティ対策術

添付の図を見て下さい。
図の下の方の画像:F7に、” =$B$4>=$B$4:$B$14 ”と入力し、ctrl+shift+enterで、
{=$B$4>=$B$4:$B$14}としたら、TRUEと表示されました。
$B$4 は、cajhgjh です。
B7  は、erert   です。 
= ( cajhgjh >= 何??)で、TRUEになっているのでしょうか。

なお、次の質問の続きのようなものと考えてください。
https://oshiete.goo.ne.jp/qa/10215216.html

「配列数式の中でのセルの位置の使われ方はど」の質問画像

A 回答 (1件)

こんにちは



配列数式の場合、対象とする範囲の各セルそれぞれに対象となる計算を行った結果(=配列)が計算に利用されることを意味します。

ご提示の例で言えば、B4>=B4、B4>=B5.B4>=B6・・・の結果で、例えば(TRUE, TRUE, FALSE ・・・)のような配列となります。
一方でご提示の式の場合は、セルの値に「=配列数式の結果」として上記のような配列を表示させるような式になっていますが、もちろんセルの値として配列を持つことはできません。(通常はこのような式は作成しませんよね)
エクセルは配列の最初の値(例示の場合は、B4>=B4の結果で常にTRUE)を採用するので、TRUEと表示されます。

試しに、どこかのセルに
 =INDEX($B$4>=$B$4:$B$14,ROW(A1))
と入力し、配列数式にしてから下方にフィルコピーしてみると、B4:B14のそれぞれの値に応じてB4と比較した結果が並ぶのがわかると思います。
これは、INDEX関数で比較結果の配列の値を順に表示させているからです。
(indexにあたる部分ROWA1)が1,2,3・・・と変わりますので)
もちろん、indexを直接の値として
 =INDEX($B$4>=$B$4:$B$14,5)
のような式にしても、5番目の結果が表示されることになります。
範囲外までフィルコピーしたり、indexに10より大きな数値を与えると、配列の範囲を超えてしまうので、#REF!表示となることも確かめてみてください。

※ 実は、この例の場合は、配列数式にしないでフィルコピーしても、同じ結果が得られますが…
    • good
    • 0
この回答へのお礼

ありがとうございました。
{=$B$4>=$B$4:$B$14} の場合は、比較結果の配列の先頭行の値がそのセルに表示される
=INDEX($B$4>=$B$4:$B$14,1) と同じことになる
そういうことなのですね。

お礼日時:2018/01/16 20:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!