プロが教える店舗&オフィスのセキュリティ対策術

初めまして kawasakiです。
excel Office365を使っています。
複数のセルに入ったデータ(色々な会社名)の中から、該当する会社名をピックアップし(検索条件は会社名)、別のセルに抽出するという作業を行っています。
この作業に関しては「vlookup」という関数を使って作業を行うことができました。
この際にピックアップからもれた検索条件に該当しないデータを抽出する関数あるいは、手順はないか?というご相談です。
どなたか、教えていただけませんか?

質問者からの補足コメント

  • うーん・・・

    回答が長くなりすぎたため、お礼の方に入力させていただきました。
    何か回答作業等に支障がありましたら、大変申し訳ございません。

    No.1の回答に寄せられた補足コメントです。 補足日時:2019/04/04 14:43

A 回答 (5件)

>検索条件に該当しないデータを抽出する関数あるいは、手順はないか?



条件に該当しないデータを抽出する目的は?
該当しないデータは、該当するデータ以外全てではないのですか?

具体例を出して説明をお願いします。
この回答への補足あり
    • good
    • 0
この回答へのお礼

chonami 様

回答ありがとうございます。
返信はこちらで失礼します。

>条件に該当しないデータを抽出する目的は?
 条件に該当しないデータを抽出する目的は、その該当しないデータも処理すべき問題だからです。

>該当しないデータは、該当するデータ以外全てではないのですか?
 その通りです。問題は、ではその該当しないデータをどう整理するかということです。
 その該当しないデータをピックアップし、別のセルへ抽出するという作業がしたいということです。
 「vlookup」を使って該当するデータを抽出後、フィルターの「重複するレコードは無視する」という機能を使って多数のN/Aを削除し(1つは残りますが)整理整頓することはできます。
 しかし、該当しないデータはそもそも抽出することが、現段階ではできていないため、整理整頓ができません。
 ならば、別の関数や手順を用いて整理整頓できないか、という悩みです。
 該当するデータは「vlookup」を使って抽出できているため、該当しないデータを一つ一つ手作業でピックアップし、別のセルに貼り付ければ良いのですが、
 該当しないデータが数百になるため、いちいちやっていられない、という状態です。

>具体例を出して説明をお願いします。
 説明のできる具体例が見つからないので、手入力で失礼します。


 元になる社名一覧         検索条件(別ファイルより)    vlookup該当データ抽出(検索条件と同データになる)        該当しないデータ
  ↓                
 ○○○○社            ○○○○社                  ○○○○社                    該当データのN/Aの部分
 ××××社             △△△△社                   N/A                      このデータを整理したい
 △△△△社              ・                    △△△△社
 □□□□社              ・                      ・
   ・               数百社                    数百社        
   ・
   ・
総数 数千社

お礼日時:2019/04/04 13:45

こんにちは



『ピックアップからもれた検索条件に該当しないデータを抽出』を言葉通り解釈すると、No1様の解釈と同じになりました。

補足を読んでもよくわからないのですが、仮にデータ値が社名だけとして
 元データ:A、B、C、D、E、F、G
のセットがある時に、検索データ群として
 検索データ:A、B、C、D
があるとします。
VLOOKUP関数で検索データのA各値でそれぞれ元データから検索すると、元データのうちA~Dがヒットすることになります。
このような時に、残りのE、F、Gを抽出したいって意味でしょうか?

もしも、そういう意味であると仮定してよいのなら・・・
元データのセット、検索データのセットが両方とも揃っていれば抽出は可能だと思います。

ソートのA列に元データの社名が並んでいるものとします。
説明をわかりやすくするため、作業列を用いて抽出することにします。
検索データのセットのあるセル範囲を検索データ範囲と示すことにして、作業列の1行目のセルに
 =IF(OR(A1="",COUNTIF(A1,検索データ範囲)>0),"","○")
を入力して下方にフィルコピーすれば、検索データセットに含まれていない元データの値の行にだけ「○」が表示されます。
基本的には、これで抽出ができているとも言えますが、別シートなどに詰めて表示したければ、作業列の表示を判断材料にして抽出すれば良いでしょう。
(作業列の値を「○」ではなく、該当する行の順序にしておくと更に簡単になります)

作業列を利用せず、直接詰めて表示する方法もありますが、配列数式になるので省略します。
(内容的には、作業列を用いる方法と同じ処理を、まとめて行うだけです)

※ 意味が違っている場合は、スルーしてください。
    • good
    • 0
この回答へのお礼

fujilin 様

回答ありがとうございます。
受け取られている解釈、意味で間違いないです。

やはりCOUNTIFなどを用いて一致・不一致を判断させてから選別するという工程が必要になるんですね。
この工程を省いて、一つの関数で作業を行えないかと模索していました。

とても助かりました。
ありがとうございました。

お礼日時:2019/04/04 15:22

No2です



>一つの関数で作業を行えないかと模索していました。
No2の最後の方で触れておきましたが、作業列を用いず関数だけで直接求める方法はあります。

ただし、内容が少々難しくなるので、お勧めしなかっただけです。
以下に、方法に関しての解説(例示の具体的な内容は異なりますが)がありますので、そこから応用ができるならば可能になることでしょう。
https://chiquilin.web.fc2.com/data/060322_extrac …
    • good
    • 0
この回答へのお礼

fujilin 様

回答していただきありがとうございます。
教えていただいた方法を取り入れて、色々と工夫したところ、形にすることができました。

ありがとうございました。

お礼日時:2019/04/05 14:20

どの様な 処理か、


にも よりますが、

論理式的に Notと、
等価と なる、
判定式を 与えると、

ヒット対象が ひっくり返りますよね?


但、
一部、
MAX構文の 結果を、
MIN構文に 置き換える場合等に、
工夫が 求められます。

MAX構文では、
=MAX(INDEX(式 条件判定式 しきい値,,))
等で 済むものが、

=MIN(INDEX((式 NOT(条件判定式) しきい値)*10^16+式,,))
等との 工夫が、
求められます。


実際は、
どの様な 処理を、
なされますか?
    • good
    • 0
この回答へのお礼

nouble1 様

No.3とNo.5の方のアドバイスを使って形にすることができました。
回答していただきありがとうございました。

お礼日時:2019/04/05 14:23

補足を見ましたが、さっぱりわかりません。



フィルタオプションで、欲しいデータ「以外」で抽出はできないのでしょうか?
    • good
    • 0
この回答へのお礼

chonami 様

説明が拙いものとなってしまい、申し訳ありません。
chonami様とNo.3の方のアドバイスを参考にして形にすることができました。
ありがとうございました。

お礼日時:2019/04/05 14:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!