- ベストアンサー
式の意味を教えて下さい!
=IF(B6=""," ",INDEX(台帳!1:65536,E6,24)) ↑これはどういう意味ですか? B6に入る数字によって台帳から持ってくるデータが違う、っていうぐらいしか分からず、E6や24の意味が特に分かりません。 この式を応用して使おうと思っているので、ご存知の方、宜しくお願いします。
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
> やっぱり「E6」にとらわれて、 あ、すみません。こちらの勘違いでした。「E6」でしたね。 E6に入力されている値が「5」なら 「Sheet2の5行目」という意味です。 > E6である必要性が分かりません。。。 そうですよね、E6と指定しなくても、直接数字を入力してやればいいと思いますよね。 =IF(B6=""," ",INDEX(台帳!1:65536,5,24)) ←E6を直接「5」に変えました。 これでも同じ意味です。 もし5行目ではなく6行目にしたいのであれば数式を手入力して変えてやらなければいけません。 なので行番号を「5」や「6」と直接数式に入れるより、 「E6の値だよ」と指定してやった方がはるかに使い勝手がいいと思います。
その他の回答 (7)
画面上の灰色のA、B・・・と表示されている列番号の「B」と、 画面左端の灰色の1,2、・・・と表示されている行番号の「6」が交わるセルの番地が「B6」です。 B6を選択してください。 そのとき画面上の数式バーに表示されている値がセルB6に入力されているということになります。 今は何が入力されているでしょうか? 日付ですか?文字ですか?空白になっていますか? セルB6は、シート「台帳」の指定されたセルの値を引っ張ってくる時に 重要な役割をするキーなんだと思います。 数式を言い換えれば B6を見て、シート「台帳」のその値を引っ張って来るかどうか判断せよ、 ということですから。
お礼
たびたびありがとうございます。 やっぱり「E6」にとらわれて、すっきりしませんがあとは自力でいろいろいじりながらやってみます。 アドバイス、ありがとうございました。
- mshr1962
- ベストアンサー率39% (7417/18945)
=IF(B6=""," ",INDEX(台帳!1:65536,E6,24)) B6がブランク以外の場合は台帳シートのX列のE6に示した行の値を表示する命令です。 INDEX(範囲,行番号,列番号) 「台帳!1:65536」は台帳シートの全データを意味します。 「E6」が行番号を入力したセル座標 「24」が列番号(この場合はAから24列目のX列) つまりE6は6行目ではなく、E6セルに入力された値の行ということです。
お礼
ありがとうございます。 同じ質問ばかりしてるようで、皆様すみません。 なんとかあとは自力でやってみます。 結局だめだったらまたお聞きしたいと思います。 ありがとうございました。
- maruru01
- ベストアンサー率51% (1179/2272)
No.2です。 >E6である必要性が分かりません。。。 >6行目ならアルファベットはなんでもいいのかなー?と思ったんですが。。。 >Eにも意味があるとは思いますが… 「E6」の「6」という数値を使用するわけではありません。 「E6」というのは、セルの場所のことで、この場合はそのセルE6に入力されている内容(ここでは数値)を使用するということです。 この「E6」はINDEX関数の第2引数に指定してあります。 第2引数は行位置を表します。 この行位置に、「E6」に入力されている数値を使用するということです。 なので、E6の値を変更すれば、当然INDEX関数による戻り値(結果)も変わります。 一方、INDEXの第3引数は、列位置を表しますが、これに「24」という数値が入っているのは、列位置は必ず24番目と決まっているからです。
お礼
たびたびありがとうございます。 引数とか配列とか・・・勉強したんですけどねぇ。。。 難しくてよく分からず、断念したおぼえがあります(^_^;) 勉強になりました。
もしセルB6が""なら(=空白文字列ならば)、" "が表示されます。 そうでない場合は、「台帳」シートのX列の任意のセルの値が表示されます。表示される値はE6セルの値に依存し、たとえばE6=5の場合は、セルX5の値が表示されます。 なお、E6の値は1~65536の数値である必要があります。 もし、E6の値が0の場合は「0」が、それ以外の数値や文字列の場合は、エラー「#VALUE」が表示されます。
補足
ありがとうございます。 E6である必要性が分かりません。。。 6行目ならアルファベットはなんでもいいのかなー?と思ったんですが。。。 Eにも意味があるとは思いますが… すみません。 ご存知でしたら、どなたか教えて下さい。
日本語に直しますと、 IF(B6=""," " もしB6が空白ならスペースを表示し(空白を表示、ではなくてスペースを表示するようになっていますね)、 ,INDEX(台帳!1:65536,E6,24)) そうではなかったらシート「台帳」の【E6】行目24列目の値を表示しなさい。 といった感じでしょうか。 E6に「5」と入力されていたら シート「台帳」のX5の値が戻ると思うのですが。
お礼
ご丁寧なご説明、ありがとうございます。 hirorin2004さんのおかげで8割、分かりました! 勉強になりました。
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 INDEX関数については、とりあえず、Excelのヘルプで調べてみましょう。 その上で分からないことがあれば補足して下さい。
お礼
調べてみたんですが、知らない言葉も多くよく分からなかったんです。。。 アドバイス、ありがとうございました。
- miumiumiu
- ベストアンサー率21% (715/3385)
もしB6が空欄なら空欄のままで、空欄じゃなかったらINDEX関数の結果を表示しなさい。・・・です。 難しいかな?
補足
早速のご回答、ありがとうございます。 難しいですね(^_^;) 「INDEX関数の結果」っていうのは・・・。 すいません。 ヘルプで調べたけどよく分からなかったもので・・・ もしよければまた詳しく教えて下さい。
お礼
何度もありがとうございます。 hirorin2004さん含め、みなさんのご回答でちょっとずつ分かってきて、勉強しながら作業が進んでおります! 分かりやすいご説明、ありがとうございました。