![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
エクセルの関数を教えて下さい。
例えば・・・
メインデータベース、サブデータベース、表示ファイルがあります。
メインデータベースには5,000件ほどの顧客がランダムで入力されており、
サブデータベースには、メインとは別の顧客が入力されています。
メインデータベース
A B C
1 エリア 担当者 顧客番号
2 大阪 ○○ 0008
3 東京 ○× 0001
4 福岡 ○△ 0006
5 名古屋 △○ 0004
サブデータベース
A B C
1 エリア 担当者 顧客番号
2 大阪 ○○ 0005
3 東京 ○× 0002
4 福岡 ○△ 0007
5 名古屋 △○ 0003
それを表示ファイルに顧客番号を入力すると、B2~B5までのエリアが、C2~C5の担当者がそれぞれ自動的に表示される方法を教えて下さい。
該当する顧客番号がメインと一致すれば、そこからエリア・担当を表示させ、メインに顧客番号の一致が無ければ、サブからエリア・担当を表示させるイメージです。
A B C
1 顧客番号 エリア 担当者
2 0001 メインから メインから
3 0002 サブから サブから
4 0003 サブから サブから
5 0004 メインから メインから
6 0005 サブから サブから
7 0006 メインから メインから
8 0007 サブから サブから
9 0008 メインから メインから
※メイン・サブのA1エリア、B1担当者、C1顧客番号は諸事情で並べ替えが出来ません。
IFとVLOOKUPを組み合わせた関数なのかな?と思い試行錯誤してみたのですが、全く機能しません・・・
どなたか宜しくお願いします。
No.2ベストアンサー
- 回答日時:
VLOOKUP関数は、指定した範囲の左端の中で一致する値を検索します。
つまり、メイン・サブのデータの並び方が現在のままですと、C列ではなくA列を検索してしまいます。
なので、VLOOKUP関数では、データの並び替えを行わない限り不可能と言うことになります。
何らかの形でA列のデータの前にC列のデータが挿入できれば、以下の式で可能な筈です。
たとえば、メインデータベースに空のシートを挿入し、A1に[=メインデータベース!C1]、B1に[=メインデータベース!A1]、C1に[=メインデータベース!B1]とします。
以降は順に行番号を増やしていきます。
こうする事で列を入れ替えたデータが用意できる筈です。
行方向は数式をコピーするだけで番号が自動で加算されて行く為、何千件もデータがあっても問題にはならないと思います。
また、EXCELの関数はセルの[値]に対して実行される為、セルの内容が数式であってもその結果の値に対して実行されますので、上記のやり方で列の情報を並び替えても問題なくVLOOKUPで
検索出来る筈です。
※A1顧客番号、B1エリア、C1担当者とした場合
B2
=IF(ISNA(VLOOKUP(A2,メインデータベース!A:B,2,FALSE),VLOOKUP(A2,サブデータベース!A:B,2,FALSE),VLOOKUP(A2,メインデータベース!A:B,2,FALSE))
C2
=IF(ISNA(VLOOKUP(A2,メインデータベース!A:B,3,FALSE),VLOOKUP(A2,サブデータベース!A:B,3,FALSE),VLOOKUP(A2,メインデータベース!A:B,3,FALSE))
以下[A2]の部分を[A3]、[A4]、[A5]、・・・・と置き換えれば良いです。
ISNA関数は引数がエラーを表す[N/A]で有るかを検査する関数です。
VLOOKUP関数の最後の引数に[FALSE]を指定することで、完全に一致する物を検索し見つからなかった場合は[N/A]を返させる事が出来ます。
メインデータベース内にデータが見つからなかった場合、ISNA関数の結果がTRUE(真)になる為、サブデータベースに対しVLOOKUP関数を実行します。
メインデータベース内にデータが見つかった場合、ISNA関数の結果がFALSE(偽)になる為、メインデータベースに対しVLOOKUP関数を実行します。
No.5
- 回答日時:
今仮に、「メインデータベースは「MainDB.xls」という名前のブックのSheet1に入力されていて、
サブデータベースは「SubDB.xls」という名前のブックのSheet1に入力されていて、
表示先は「View.xls」という名前のブックのSheet1であるものとします。
その場合、表示ファイルのB2セルに、次の数式を入力してから、B2セルをコピーして、B2~C9の範囲に貼り付けると良いと思います。
=IF(COUNTIF([MainDB.xls]Sheet1!$C:$C,$A2),INDEX([MainDB.xls]Sheet1!A:A,MATCH($A2,[MainDB.xls]Sheet1!$C:$C,0)),IF(COUNTIF([SubDB.xls]Sheet1!$C:$C,$A2),INDEX([SubDB.xls]Sheet1!A:A,MATCH($A2,[SubDB.xls]Sheet1!$C:$C,0)),""))
No.4
- 回答日時:
全ての顧客番号が必要なのであれば
表示ファイルのSheet1にメインデータをコピー
その下にサブデータをコピーして、顧客番号の列を
A列に移動(右へシフトして移動)して並べ替えれば
終わりだと思います。
入力された一部だけ必要なのであれば、上の作業をしてから
Sheet2にでもVLOOKUPを使って表示させればいいと思います。
No.3
- 回答日時:
「メインデータベース」がブック MainDB.xls のシート MainSheet1 に、
「サブデータベース」がブック SubDB.xls のシート SubSheet1 に、
それぞれ入力されていると仮定したとき、別ブック View.xls のシート ViewSheet1 における式は、例えば次のとおりです。添付図参照
1.セル B2 に次の[条件付き書式]を設定
数式が =ISERROR(B2)
フォント色 白
2.セル B2 に次式を入力して、此れを右隣のセルにドラッグ&ペースト
=IF(ISERROR(MATCH($A2,[MainDB.xls]MainSheet1!$C:$C,0)),INDEX([SubDB.xls]SubSheet1!$A:$B,MATCH($A2,[SubDB.xls]SubSheet1!$C:$C,0),COLUMN(A1)),INDEX([MainDB.xls]MainSheet1!$A:$B,MATCH($A2,[MainDB.xls]MainSheet1!$C:$C,0),COLUMN(A1)))
3.範囲 B2:C2 を下方にズズーッとドラッグ&ペースト
![「エクセル 複数条件VLOOKUPの質問で」の回答画像3](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/6/298588_5497e8aaa17d2/M.jpg)
No.1
- 回答日時:
この表からは、VLOOKUP関数は使用できません。
(検索列は表の最左端にある事が条件です)抽出はINDEX(メインファイルのA:A,MATCH($B2,メインファイルの$C:$C,0))の組合わせになります。
かなりラフですが一例です。
=IF(COUNTIF(メインファイルの$C:$C,$B2),メインファイル抽出式,サブファイル抽出式)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(パソコン・周辺機器) 2つのPCを行き来する 2 2022/06/15 01:59
- X(旧Twitter) Twitter(X)のアカウントの作り方 Twitterでサブ垢を作りたかったので、今まであったサブ 3 2023/08/28 08:08
- モニター・ディスプレイ マルチモニター・PC 2 2022/09/02 23:49
- LTE microsoft authenticatorアプリ 3 2023/08/05 07:31
- 中古パソコン ツールをずっと起動させておくだけのPC 2 2022/06/10 02:10
- iOS iPod nanoについて 2 2022/09/02 19:34
- X(旧Twitter) web版 Twitter 3 2022/12/29 15:42
- 年末調整 扶養内のWワークはばれますか? 2 2022/06/22 14:28
- Excel(エクセル) 関数の式を教えてください 2 2022/04/04 11:15
- Excel(エクセル) Excel 指定した固有番号で、複数の行を削除する方法は? 2 2022/03/30 15:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA ListViewサブアイテ...
-
黒人の名字にKIMが多の理由
-
アクセスで教えてください。 縦...
-
再現ドラマの「あえて」の吹き替え
-
【誰?】空耳俳優さんの名前教...
-
「*121」の番号について
-
加藤剛さんの息子さん
-
「デスパレートな妻たち」6のエ...
-
名前が知りたい女優さんの調べ...
-
この方って女優さんでしょうか...
-
このドラマはなんですか?とく...
-
AV女優の名前を知りたいです
-
このAV女優さんの名前教えて下...
-
pornhubの広告に出てくるこの女...
-
芸人で一番の天才は松村邦洋だ...
-
レミゼラブルが見たいのですが...
-
どんぐりの背比べの反意ことわ...
-
とあるオカマっぽい俳優(脇役...
-
このAV女優を知りたいです。
-
時代劇の隠れた人気シーン
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA ListViewサブアイテ...
-
「デスパレートな妻たち」6のエ...
-
アクセスで教えてください。 縦...
-
レストランたべるなについて
-
「*121」の番号について
-
黒人の名字にKIMが多の理由
-
2つのPCを行き来する
-
【Access】サブフォーム間のカ...
-
ミス・マープルに登場した俳優...
-
加藤剛さんの息子さん
-
2台のPCをLANで接続しています...
-
指定レジストリキーのサブキー...
-
pBluescript SK+の全塩基配列に...
-
韓国は、チャ・チャン・チョン???
-
NHK鈴木京香版「君の名は」での...
-
ライフカードの新CMで後輩役の...
-
今日の「まんてん」で・・・・・・
-
数式3.0のツールバーが英語
-
再現ドラマの「あえて」の吹き替え
-
はじめまして! pcのデュアル画...
おすすめ情報