
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルに写真が貼れない(フ...
-
エクセルのVBAで集計をしたい
-
【マクロ】【相談】Excelブック...
-
Office2021のエクセルで米国株...
-
【マクロ】実行時エラー '424':...
-
他のシートの検索
-
vba テキストボックスとリフト...
-
【マクロ】【配列】3つのシー...
-
【マクロ】元データと同じお客...
-
【画像あり】オートフィルター...
-
【マクロ】数式を入力したい。...
-
エクセルのライセンスが分かり...
-
【マクロ】【画像あり】❶ブック...
-
【関数】3つのセルの中で最新...
-
【関数】=EXACT(a1,b1) a1とb1...
-
エクセルシートの見出しの文字...
-
セルにぴったし写真を挿入
-
LibreOffice Clalc(またはエク...
-
【マクロ】excelファイルを開く...
-
エクセルの複雑なシフト表から...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】元データと同じお客...
-
エクセルの関数について
-
【画像あり】オートフィルター...
-
エクセルのVBAで集計をしたい
-
エクセルのリストについて
-
【マクロ】数式を入力したい。...
-
【マクロ】【相談】Excelブック...
-
Office2021のエクセルで米国株...
-
【マクロ】実行時エラー '424':...
-
他のシートの検索
-
エクセルの複雑なシフト表から...
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
【マクロ】左のブックと右のブ...
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】別ファイルへマクロ...
-
【関数】同じ関数なのに、エラ...
-
Amazonでマイクロソフトオフィ...
-
ページが変なふうに切れる
おすすめ情報
下の画像のように実際には事業所票シートには45000個ほどのデータがあり、
そこから「地域」「業種」「事業所番号」の三つが一致する「市区町村」番号を
抽出し、搬出入票シートの空欄の「市区町村」番号の欄を埋めたいです。
左が搬出入票シートで、右が事業所票シートです。
事業所票は重複がありませんが。搬出入票には重複があります。
よろしくおねがいいたします。