- ベストアンサー
エクセル(関数)について
あるD1に「=INDEX(A5:C7,A1,)」の関数が入力しています。 A1が無入力の場合、D1に「#VALUE!」の表示が出ます。 A1が無入力の時、D1に表示が出ないよう空白にするには、どうしたらいいのでしょうか。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> 完全な間違いをしていました。 > 「=INDEX(A5:A7,A1)」です。 No.1の方がご回答されている数式を訂正すれば、下記のようになりますが、・・・ =IF(A1="","",INDEX(A5:A7,A1))
その他の回答 (2)
- Nouble
- ベストアンサー率18% (330/1783)
まず最初に =index(A5:C7,0) という式は成り立ちます インデックス文は第二引数がヌルまたは0の場合 配列要素全てを返すという仕様があるので 第三引数があれはあったなりの 無ければ無いで何ら問題にしません ※) これはヘルプに明記されています なので 配列数式をするものでは =index(A5:C7,) =index(A5:C7,,) とするのは常套句なのですが 今回の此の式は ヌルのままだと式を評価する際に 式の区切りを誤認識されるので =index(A5:C7,0,) と変形させたものですね この質問で エラーが出ているのは 配列数式の内のどの要素を示していいか エクセルが判断つかないからだと思います 試しにD1の式を表示させ 式全体を選択して反転表示した上で ウインドウズ上ならF9を押すと 配列数式としてA5:C7の内容か全て表示される筈です ここまではいいとして 問題となる点は 何ら入力か無いセルをどうエクセルが捉えるか どう置き換えを行うかという エクセルのバージョンとか その時々のマイクロソフトの振る舞い次第で回答が変わる 微妙な内容なのですね なのでなんとも言えないのですが ※) マイクロソフトは告知無しに内部を弄り回すので まあ恐らくはまだ0と認識されると思います だとすると コントロルー+シフト+エンターで配列数式としてD1を {=index(A5:C7,A1,)}と入力しておいて その上でA5を""にすれば A1が""でも D1も""になると思います 他にも方法があるかとも思いますが 寝てないので此のくらいで 間違っていたら済みません
補足
間違いをしていました。 「=INDEX(A5:A7,A1)」です。 すみません、よろしくお願いします。
- gyouda1114
- ベストアンサー率37% (499/1320)
>A1が無入力の場合、D1に「#VALUE!」の表示が出ます。 数式に誤りがありますね、A1に入力されても「#VALUE!」と表示されませんか INDEX関数は、INDEX(配列,行番号,列番号)で列番号が不足しています。 B1を列番号として A1,B1何れも入力なしのときの式の1例です =IF(OR(A1="",B1=""),"",(INDEX(A5:C7,A1,B1)))
補足
そのとおりです。 完全な間違いをしていました。 「=INDEX(A5:A7,A1)」です。 すみません、よろしくお願いします。
お礼
ありがとうございました。