質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%

Q&A

解決済

1回答

1521閲覧

Excel関数で重複データが含まれる範囲で複数条件に一致したデータを検索する方法

退会済みユーザー

退会済みユーザー

総合スコア0

0グッド

0クリップ

投稿2019/02/02 09:27

編集2019/02/03 22:53

複数条件に一致したデータを別シートに出力させる方法についてご教示いただきたいです。

  • マスタシート

県コード、市町村コード、県名、市町村名が記載されている。
県コード、市町村コード自体は重複しているが、
県コード+市町村コードは重複しない
マスタシートには後からデータが追加される可能性がある
イメージ説明

  • 売上シート

県コードと市町村コード(資料の赤枠)が入力されると対応する
県名が出力される(緑枠)
イメージ説明

以前ご回答頂き、市町村名は出力できるようになったので
同じ式で県名も出力できないかと考え以下の関数を組みました。
なお、マスタ!$B$4:$B$101、マスタ!$C$4:$C$101=C4の箇所は計算が可変になる
ことと、可変行の値取得方法が上手くできず固定にしました。

IF(B4 = "","",INDEX(マスタ!D:D,SUMPRODUCT((マスタ!$B$4:$B$101 = B4)(マスタ!$C$4:$C$101=C4) ROW(マスタ!$B$4:$B$101))))

そのまま3000行分オートフィルでコピー,
3000行分県コードと市町村を入れたのですが、
途中で式の結果が0になって正常に計算されない箇所がありました。

売上シートの県コードと市町村コードが一致した場合、マスタシートから
県コードだけを出力したい場合、どのような式にすればよいのでしょうか。
なお、レイアウトの関係で別シートの追加やシートの別部分に出力等はできません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/02/04 00:21

県コードと県名は完全一致のはずでしょうし、県名を取得したいだけならば、市町村コードを検索の条件に含める意味はあるのでしょうか。
退会済みユーザー

退会済みユーザー

2019/02/04 00:37 編集

県コードが重複して存在しており、Vlookup関数が使えないので市町村コードを追加で入れていました。 マスタで県コードが重複していたとしても、index関数などで取得する方法があるのでしょうか?(その点ができるかわからず、複数条件で検索ということにしておりました。)
退会済みユーザー

退会済みユーザー

2019/02/04 00:54

同じ県コードならばどの行も同じ県名ですよね? ならば、VLOOKUPは最初に見つかった結果を返すので、単純に=VLOOKUP(B4,マスタ!$B$4:$D$101,3,FALSE)で問題ないように思います。
退会済みユーザー

退会済みユーザー

2019/02/04 12:31

ご回答ありがとうございます! 色々と小難しく考えすぎていたようでした。 VLOOKUP関数で問題ありませんでした!お騒がせしました。
退会済みユーザー

退会済みユーザー

2019/02/04 14:07

ひとまず解決したようでよかったです。 前回の質問からの流れもありますから、そういうことはよくあることです。寧ろ生かそうとしていいことじゃないかと思います。 さて、今回の目的自体は達成されたことになると思いますが、質問の起因となった状況としてはもう少し確認したほうが良いかもしれません。 作成された式の結果が0というのはSUMPRODUCT部分の結果のことだと思いますが、少なくともぱっと見は問題無いように見えますので、県コードか市町村コードのどちらか、もしくは両方で、一致するものを見つけられなかった状況だと思います。 両シートの県コードや市町村コードに余計な空白が入っていないか、式の範囲指定が間違っていないかあたりが確認ポイントになるでしょうか。
退会済みユーザー

退会済みユーザー

2019/02/04 23:08

この事象ですが、売上シートに他のエクセルからコピーしてきた文字列形式データを貼り付け(貼り付け形式は値と書式の保持)すると、発生しています。 マスタデータのコードも同じ形式で貼り付けをして実行しているのですが、0になります。(この場合、売上シートのコードをマスタに貼り付け直してから計算実行すると成功します) ただ、この内容は本質問からずれている気もするので何度か試してみて原因がつかめない時は改めて新規質問しようと思います。
退会済みユーザー

退会済みユーザー

2019/02/05 00:55

ちょっと方向が違う内容になるのでそれがいいですね。
guest

回答1

0

ベストアンサー

同じ県コードならばどの行も同じ県名ですよね?
ならば、VLOOKUPは最初に見つかった結果を返すので、単純に

EXCEL

1=VLOOKUP(B4,マスタ!$B$4:$D$101,3,FALSE)

で問題ないように思います。

※追記修正コメントで解決してしまったので、QAの体裁のための回答入力です。

投稿2019/02/05 00:54

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問