[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『別シートへ抽出したい』(ともこ)
よろしくお願いいたします。
シート1
通 枝番 日付 D列 E列 F列
1 1 7/3 運転しない 空欄
2 1 7/4 私有車 2815
2 2 7/4 空欄 空欄
3 1 7/5 休暇 空欄 空欄
4 1 7/6 レンタカー 2222 空欄
4 2 7/6 空欄 空欄
シート2
A列 B列
7/3 運転しない
7/4 2815
7/5 休暇
7/6 2222
シート1からシート2へB列を抽出したいのです。
IF関数とVLOOKUPとOffsetを使ってましたが上手くいきません・・・
シート1は行を削除したり挿入することも想定しています。
お知恵をいただけますか?
< 使用 Excel:Excel2010、使用 OS:Windows10 >
>シート1からシート2へB列を抽出したいのです。 >IF関数とVLOOKUPとOffsetを使ってましたが上手くいきません・・・
無理にとは言いませんが、【どのようなルール】で抽出しているのか、【どのようにうまくいかないのか】説明できませんか?
(もこな2) 2023/07/13(木) 10:18:02
(そう思わん?) 2023/07/13(木) 10:28:32
=IFERROR(IF(VLOOKUP($A10,入力!$C:$E,3,0)<>"",VLOOKUP($A10,入力!$C:$T,2,0),VLOOKUP($A10,入力!$C:$E,3,0)),"")
(ともこ) 2023/07/13(木) 10:30:15
>シート2へB列を抽出したいのです。 A列の日付は入力済みってこと?
>シート1は行を削除したり挿入することも想定しています。 それでどうなるかは試してません。
・Sheet1のD列以降は手入力(数式の結果ではない) ・枝番1で、Sheet1のD列以降がすべて空白ということはない ・Sheet2は1行目から
B1 =IFERROR(VLOOKUP(A1,Sheet1!C:F,COUNTA(INDEX(Sheet1!D:F,MATCH(A1,Sheet1!C:C,0),0))+1,FALSE),"") 下コピー 少なくとも例示通りにはなります。
または B1 =IFERROR(LOOKUP(1,0/(INDEX(Sheet1!D:F,MATCH(A1,Sheet1!C:C,0),0)<>""),INDEX(Sheet1!D:F,MATCH(A1,Sheet1!C:C,0),0)),"")
参考まで (笑) 2023/07/13(木) 11:04:35
>E列が空白でなければ抽出 >E列が空白であればD列を抽出です。
D列とE列の2列だけ?
2列だけなら B1 =IFERROR(VLOOKUP(A1,Sheet1!C:E,2+(INDEX(Sheet1!E:E,MATCH(A1,Sheet1!C:C,0))<>""),FALSE),"")
参考まで (笑) 2023/07/13(木) 11:13:23 数式ちょっと修正 11:26
2列だけなら、そちらが試した式の場合
B1 =IFERROR(IF(VLOOKUP(A1,Sheet1!C:E,3,0)<>"",VLOOKUP(A1,Sheet1!C:E,3,0),VLOOKUP(A1,Sheet1!C:E,2,0)),"")
参考まで (笑) 2023/07/13(木) 11:39:58
シート2
A列 C列
8行目 7/1
7/2
7/3 運転しない
7/4 2815
7/5 休暇
7/6 2222
C8=IFERROR(VLOOKUP(A8,入力!C:E,COUNTA(INDEX(入力!D:E,MATCH(A8,入力!C:C,0),0))+1,FALSE),"")
入れてみましたが「運転しない」「休暇」は抽出されないようです。
(ともこ) 2023/07/13(木) 11:59:01
>「運転しない」「休暇」は抽出されないようです。 Sheet1のE列を数式で空白にしてませんか? その式は、手入力だったら、と書きましたけど・・・
D列とE列の2列だけなら
C8 =IFERROR(IF(VLOOKUP(A8,入力!C:E,3,0)<>"",VLOOKUP(A8,入力!C:E,3,0),VLOOKUP(A8,入力!C:E,2,0)),"")
これでいいのでは? (笑) 2023/07/13(木) 12:17:49
C8 =IFERROR(IF(VLOOKUP(A8,入力!C:E,3,0)<>"",VLOOKUP(A8,入力!C:E,3,0),VLOOKUP(A8,入力!C:E,2,0)),"")
(ともこ) 2023/07/13(木) 12:29:04
>プルダウンではダメということでしょうか? これはどこの話? Sheet1のD列とE列は、入力規則のリストから選択してるってこと?
>参考までになぜ手入力でないといけないか教えて下さい Sheet1のE列を数式の「""」で空白にしてるんだったら COUNTA 関数はそれもカウントするから。
例示の「7/3」の場合 =COUNTA(INDEX(入力!D:E,MATCH(A8,入力!C:C,0),0))+1 この式は「2」にならないとダメなのに、E列を数式で空白にしていたら「3」になってしまいます。
で、D列とE列の「2列」だけ? 書き忘れてましたが、2列だけなら ↓ でもできますよね。
C8 =IFERROR(VLOOKUP(A8,入力!C:E,2+(INDEX(入力!E:E,MATCH(A8,入力!C:C,0))<>""),0),"")
以上 (笑) 2023/07/13(木) 12:47:39
>C8 =IFERROR(VLOOKUP(A8,入力!C:E,2+(INDEX(入力!E:E,MATCH(A8,入力!C:C,0))<>""),0),"")
↓ の方がいいかも C8 =IFERROR(VLOOKUP(A9,入力!C:E,2+(VLOOKUP(A9,入力!C:E,3,0)<>""),0),"")
以上 (笑) 2023/07/13(木) 12:59:12
(そう思わん?) 2023/07/13(木) 13:37:14
様々なパターンを教えていただき
勉強になりました。
シート1のD列がプルダウンでも全く問題ありませんでした。
C8 =IFERROR(VLOOKUP(A8,入力!C:E,2+(INDEX(入力!E:E,MATCH(A8,入力!C:C,0))<>""),0),"")
若しくは
C8 =IFERROR(VLOOKUP(A9,入力!C:E,2+(VLOOKUP(A9,入力!C:E,3,0)<>""),0),"")
(ともこ) 2023/07/13(木) 15:42:48
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.