No.4ベストアンサー
- 回答日時:
こんにちは!
>事業所票シートには45000個ほどのデータがあり・・・
というコトですので、簡単な方法は↓の画像のように作業用の列を設けてみてはどうでしょうか?
まずSheet2の作業列E2セルに
=A2&"_"&B2&"_"&C2
という数式を入れフィルハンドルでダブルクリック!
そしてSheet1のE2セルに
=IFERROR(INDEX(Sheet2!D:D,MATCH(B2&"_"&C2&"_"&D2,Sheet2!E:E,0)),"")
という数式を入れフィルハンドルで下へコピー!
これで画像のような感じになります。
※ 作業列が目障りであれば遠く離れた列にするか
非表示にしておきます。m(_ _)m
No.5
- 回答日時:
難しく考えずに、補助列を作ってvlookup関数を入れ込めば出来ます。
複雑な関数を捻り回すと、時間だけ掛って、後でメンテ出来なくなります。
趣味なら良いですが、仕事としてやるなら意味は有りません。
◆左シート(シート名:シート1)に列挿入追加
・D-E列の間に列追加(現状のE列はF列になる)
・新E2 =B2&C2&D2を入れ、下へコピペ
◆右シート(シート名:シート1)に列挿入追加
・C-D列の間に列追加(現状のD列はE列になる)
・新D2 =A2&B2&C2を入れ、下へコピペ
左シートの新F列に関数を入れて、下までコピペ
=VLOOKUP(E2,シート2!$D$2:$E$999,2,FALSE)
$D$2:$E$999の 999は最終行に修正
No.3
- 回答日時:
D2: =IF(SUMPRODUCT((Sheet1!C$2:C$10=C2)*(Sheet1!D$2:D$10=D2)*(She
et1!E$2:E$10=E2)*ROW(C$2:C$10)),INDEX(Sheet1!F$1:F$10,SUMPRODUCT((Sheet1!C$2:C$10=C2)*(Sheet1!D$2:D$10=D2)*(Sheet1!E$2:E$10=E2)*ROW(C$2:C$10))),"なし")No.2
- 回答日時:
ああ、いけない。
ちょっと訂正します。
訂正一つ目。
配列数式に確定されている状態を示していませんでした。
誤 数式を入力したらShift+Ctrl+Enterで数式を確定するのです。
誤
誤 こんな感じ。
↓
正 数式を入力したらShift+Ctrl+Enterで数式を確定するのです。
正 {=INDEX(シート1!D$2:D$100 , MATCH(A2&"-"&B2&"-"&C2 , シート1!A$2:A$100&"-"&シート1!B$2:B$100&"-"&シート1!C$2:C$100 , 0) )}
正 こんな感じに数式の前後に{ }が付きます。
訂正二つ目。というか、追記。
あと、この数式は見やすいように全角のスペースを入れています。
実際には全角のスペースを削除して入力してください。
No.1
- 回答日時:
考え方はいくつもありますが、自分なら…
「地域」「業種」「事業所番号」のすべてが一致するということなので、これらを結合して1つの値にしてそれを比較します。
A1セルに「地域」
B1セルに「業種」
C1セルに「事業所番号」
D1セルに「市区町村番号」
ならば、
「A2&"-"&B2&"-"&C2」としてこれを比較対象にする。
=INDEX(シート1!D$2:D$100 , MATCH(A2&"-"&B2&"-"&C2 , シート1!A$2:A$100&"-"&シート1!B$2:B$100&"-"&シート1!C$2:C$100 , 0) )
としたいところですが、
これではMATCH関数内の2つ目のパラメータ「シート1!A$2:A$100&"-"&シート1!B$2:B$100&"-"&シート1!C$2:C$100」が正しく認識されません。
しかしこれは、この数式を「配列数式」とすることで解決できます。
数式を入力したらShift+Ctrl+Enterで数式を確定するのです。
こんな感じ。
この数式をシート2のD2セルに入力後、Shift+Ctrl+Enterで確定後、必要な行までフィルでコピーします。
なお、100行以上に渡って設定する必要がある場合は、「A2:A100」「B2:B100」「C2:C100」の「100」の数値を必要な行数と同じ数字か大きい値に変えてください。
ただし!!
範囲内に一致する「地域」「業種」「事業所番号」が無い場合のエラーに関しては、一切処理をしていません。
質問の例では、シート2の「11」「1」「11」に対応するデータがないため「#N/A」のエラーを返します。
それについては自身で対応してみましょう。
エラーに関する関数を使用して処理できます。
・・・余談・・・
基本はINDEX関数とMATCH関数の組み合わせです。
それを配列数式にして対応しています。
INDEX関数とMATCH関数の組み合わせについて、
そして「配列数式」とは何かについて自身で調べて理解したうえで使ってみてください。
なお、
ここで示した数式はExcel2016で動作を確認していますが、それ以前のバージョンでも動作すると思います。
しかしExcel Onlineでは「配列数式」を使うことができませんので、別の手段を使う必要があります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Excel(エクセル) 【Excel関数】値が合致するセルの隣のセルを表示させたい 8 2022/10/12 17:44
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) マクロか関数で処理したいのですが、教えて頂けませんか。 8 2022/10/31 15:18
- Excel(エクセル) Excelについて 6 2023/03/03 16:19
- Excel(エクセル) 【VBA】PDF出力に任意のファイル名前を付ける方法 3 2023/07/21 10:55
- Excel(エクセル) EXCELでの複雑な複数条件について 4 2022/05/09 16:19
- Excel(エクセル) スプレッドシートの違うシートから引っ張る方法 2 2023/07/18 15:18
- Excel(エクセル) 簡単なエクセルマクロについて 4 2023/02/20 10:22
- Visual Basic(VBA) 2つのシートの任意のセルの番号が一致したら、一致した行をコピーする VBA 2 2023/06/19 20:48
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの関数について教えてくだ...
-
VBAについての質問です
-
Excelにいついて質問です。
-
一つのセルに(例えばA1)入力...
-
エクセルファイルがファイルの...
-
【マクロ】名前を保存する際に...
-
Excel 複数列 A列B列C列一致 D...
-
エクセル vbaについて教えてく...
-
エクセルであるセルに数字を入...
-
Excelについて教えてください
-
エクセル マクロ チェックボックス
-
【マクロ】顧客番号にて一致さ...
-
エクセル共有したが、アクセス...
-
Excel分析ツールでのポアソン回...
-
【Excel】数字を3倍にし、なお...
-
エクセルのデーターが2か月前の...
-
LOOKUP関数を使えばいいのでし...
-
エクセルの神よ、ご回答を! エ...
-
Excelでセルの値が同じか...
-
エクセルを使っていて2024/5/15...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報
下の画像のように実際には事業所票シートには45000個ほどのデータがあり、
そこから「地域」「業種」「事業所番号」の三つが一致する「市区町村」番号を
抽出し、搬出入票シートの空欄の「市区町村」番号の欄を埋めたいです。
左が搬出入票シートで、右が事業所票シートです。
事業所票は重複がありませんが。搬出入票には重複があります。
よろしくおねがいいたします。