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ランキング
-
IFとIFS関数
-
Excelを無料で使うには? パソ...
-
セルの数を求めたい
-
エクセルの数式バーのフォント...
-
Excelの表示についての質問
-
再質問です。マクロの修正箇所...
-
データチェックを行うエクセル...
-
Excelに詳しい方! B列が「日...
-
西暦や和暦の表示をyyyymmdd表...
-
Excelで50個のセルに同じ文字を...
-
Excelの数式について教えてくだ...
-
Excel VBAで全ての矢印を赤色に...
-
エクセル関数を使って
-
祝日と土曜、日曜の合計をカウ...
-
xlsxファイルを保存する際にPDF...
-
Excelについて
-
エクセルVBA、別ブックへ転記す...
-
エクセルで「ページレイアウト...
-
2列に入っているデータを1列...
-
【ExcelVBA】名前を付けて保存→...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報
下の画像のように実際には事業所票シートには45000個ほどのデータがあり、
そこから「地域」「業種」「事業所番号」の三つが一致する「市区町村」番号を
抽出し、搬出入票シートの空欄の「市区町村」番号の欄を埋めたいです。
左が搬出入票シートで、右が事業所票シートです。
事業所票は重複がありませんが。搬出入票には重複があります。
よろしくおねがいいたします。