[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『IFとVLOOKUP組み合わせ』(mino)
会社であるフォームを作っています。Sheet1には番号をつけて注文内容を入れ、
sheet2には報告書フォームを作って報告書の右上に番号を入れるとsheet1で入力したデータが入るように作製しています。
エクセル初心者ですがいろいろなページをみてVLOOKUPを使ってsheet1のデータがSheet2へとぶように設定できました。空白時にエラー表示させたくないのでIFを使って設定したところ、番号1はきちんと表示されますが、2から先は空白ですと0と表示されます。
Sheet2に番号をいれたらSheet1のデータがVLOOKUPはきちんと反映してIFだけ(空白にする)が最初の行以外反映されません。
どうしたらいいでしょうか????
< 使用 Excel:Excel2010、使用 OS:WindowsXP >
=IF(金型!B2="","",VLOOKUP(Q1,金型!1:1048576,2,FALSE))
VLOOKUPはこの式ですべてに反映するのですがIFの式は、金型!B2の部分を範囲指定?などするのでしょうか??
わかりにくくすみません。。。
(mino) 2015/07/16(木) 11:45
(金型シート) __A__ __B___ __C_ __D__ __E_ __F__ ___G_____ …… ___L_____ 1 番号 依頼先 品名 依頼日 納期 発送日 項目その1 項目その6 2 123 ○○ △△ 7/1 7/10 7/8 ほにゃらら …… ほにゃにゃ
(Sheet2) _A_ _B_ _C_ … _Q_ 1 123
Sheet2のどこのセルに(金型シート)のB列以下を表示したいのかわかりませんが >VLOOKUPを使ってsheet1のデータがSheet2へとぶように設定できました とのことなので大丈夫なのでしょう
VLOOKUPは、 (探したい値 , 探しに行きたい範囲 , 探し出したセルを1として右に何列移動するか , 完全一致かどうか) です >VLOOKUP(Q1,金型!1:1048576,2,FALSE)) ~~~~~~~~~~~~~~ 【探したい値】 →Q1に入力した値 【探しに行きたい範囲】 →金型シートの1行目から1048576行目まで 金型シートのデータは今後も増える可能性があるということでしょうか? 必要な行までで大丈夫です あと、列指定がありません A列からL列までですよね?
IFは (何がどうなっていれば , こうする , そうでなければああする) です >=IF(金型!B2="","",VLOOKUP式)
【何がどうなっていれば】 →金型シートのB2が空白だったら つまり、Q1に何を入力しようと金型シートのB2が空白だったら ということです 【こうする】 →空白にする
>空白時にエラー表示させたくないので どのシートのどのセルが空白だった場合でしょうか??
(さいき) 2015/07/16(木) 15:00
こっちで作った簡単な例で言うけど、こういうこと?
A B C D E F G 1 番号 項目1 項目2 番号 項目1 項目2 2 101 あ か 103 う 0 ←「0」になってしまう 3 102 い き 4 103 う ※ F2とG2にVLOOKUPの数式 5 104 え 6 105 お
A1:C6が参照リスト F2とG2に VLOOKUP の数式(E2が検索値)
G2は「空白」になってほしいのに「0」が表示される。 この「0」を非表示にするにはどうしたらいいのか、というのが質問?
そうだとして、方法はいくつもあるんだけど、ちょっと確認。
B列〜L列のうち、空白になることがあるのは特定の列? それともどの列がと決まっているわけではないのかな?
外してるかもしれないんで、とりあえずこれだけ。 (笑) 2015/07/17(金) 07:53
>【探しに行きたい範囲】
→金型シートの1行目から1048576行目まで 金型シートのデータは今後も増える可能性があるということでしょうか? 必要な行までで大丈夫です
これからずっと使っていく表なのでありったけの範囲にしていました。
あと、列指定がありません A列からL列までですよね?
列指定はVLOOKUPの式にいれるのですか??
>こっちで作った簡単な例で言うけど、こういうこと?
A B C D E F G 1 番号 項目1 項目2 番号 項目1 項目2 2 101 あ か 103 う 0 ←「0」になってしまう 3 102 い き 4 103 う ※ F2とG2にVLOOKUPの数式 5 104 え 6 105 お
そうです!
0になってしまうという相談です。
どのセルが空白になるかがきまっていないのですべてのセルにIFをつけておきたいということです。
Sheet2の報告書フォーム上に番号をいれれば、Sheet1のその番号のデータがとんでくるようにVLOOKUPは設定できましたがIFだけがうまくいきません。
わかりにくいでしょうか???
すみません(><)
(mino) 2015/07/17(金) 11:46
まだまだ不明な点が多いので、はっきりとは答えられないんだけど、、、 思いのほか長文になってしまった。
空白の場合に限らず、すべての「0」を非表示にしても構わないのなら 一番てっとり早いのは、オプションの設定。
ファイル→オプション→詳細設定 「次のシートで作業するときの表示設定」でシートを選択し、 「ゼロ値のセルにゼロを表示する」のチェックを外す
ただし「0」の非表示がシート全体に適用されるんだけど それだと何か問題ありますか? VLOOKUPのセルだけを対象にしたい場合は 1)条件付き書式で「0」の場合はフォント色を白にする 2)表示形式で「0」を非表示にする ※日付の書式が不明なのと 日付以外にも数値データがあるのかどうかわからないので具体的には書けません 3)数式を変更する VLOOKUPの式ですが > =IF(金型!B2="","",VLOOKUP(Q1,金型!1:1048576,2,FALSE)) IF(金型!B2="","", は外すこと。
それと「金型!1:1048576」の部分は「金型!A:L」に変更。
=VLOOKUP(Q1,金型!A:L,2,FALSE) =IF(Q1="","",VLOOKUP(Q1,金型!A:L,2,FALSE)) =IFERROR(VLOOKUP(Q1,金型!A:L,2,FALSE),"")
※Sheet2のレイアウトが不明なので、他のセルにコピーすることを考えた式にはなってません 「0」非表示を数式変更で対応するなら、
値が文字列の場合 =IF(Q1="","",VLOOKUP(Q1,金型!A:L,2,FALSE)&"")
VLOOKUPの後ろに「&""」を付けておけば、空白でも「0」は表示されません。 ただしこれは日付には使えない(日付は表示形式で対応)
どうしてもIFで分岐したいのなら、文字列でも数値(日付)でも
=IF(Q1="","",IF(VLOOKUP(Q1,金型!A:L,2,FALSE)="","",VLOOKUP(Q1,金型!A:L,2,FALSE)))
こんな感じかな。 (笑) 2015/07/17(金) 17:41
> =IF(Q1="","",IF(VLOOKUP(Q1,金型!A:L,2,FALSE)="","",VLOOKUP(Q1,金型!A:L,2,FALSE)))
この式は「もし空白だったら・・・」という条件にすれば、こんなのになるってことを 示したかっただけで、決してお勧めしてるわけではないですよ。
この式を使うとしたら、数値データで 表に「0」が入力されてる場合はそのまま「0」を返し、 何も入力されてない場合は「空白」にしたい、 そんな場合ぐらいですかね。 (笑) 2015/07/18(土) 11:27
丁寧に教えていただきありがとうございました!!!
なんとかフォーム設定できたようです!
(mino) 2015/07/21(火) 10:55
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.