アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは。

Excel初心者です。
幾度と本やネット見ながらチャレンジしているものの、うまくいかず頓挫し、
時間ばかり過ぎてしまっている件に、どうかご教授頂けましたら幸いです。

約200行、100列ありますデータを、A(シート2)とB(シート3)の二つに振り分けたいです。
Aの抽出条件はおよそ20程度のコードに該当するもので、
重複しているものも中にはある中、vlookup は該当するデータの一つしか拾わないと知り、
countifで唯一無二のコードを作成し、以下の数式手順により
=iferror(vlookup ($a2&$b2,シート1!$a$2:$cw$117,match(c$1,シート1!$a$1:$cw$1,0),0)&゛゛,゛゛)
※表記ミスがありましたら申し訳ありません。

Aの抽出は可能となりました。

ただ、元データ(シート1)からA抽出後の、その他の残りデータBも
シート3に抽出したいのです。
Aは20件程ですが、Bの対象域は膨大なデータであり、
なるだけ上記関数に細工をして
<A以外のもので>とnotや<>を使用してみたのですが、なかなかうまくいかず。

ど素人ゆえの質問で大変恐縮なのですが、
なるだけ具体的にアドバイス頂けましたら大変有難いです。

お願い致します。

A 回答 (2件)

こんにちは



文章しかないので、あまりよく理解できていませんが・・・

>Aの抽出は可能となりました。
であれば、Aにないものだけ抽出すれば良いのではないでしょうか?
式を見るとVLOOKUPでは完全一致で検索しているので、A2:A117のうち「$a2&$b2」に合致しないものを抽出すれば宜しいのではないでしょうか。

>Aの抽出条件はおよそ20程度のコードに該当するもので、
もしかすると「$a2&$b2」のような検索ペアが20行あって、それに該当するものを抽出してるってことでしょうか?
そのような場合は逆に抽出済みのデータに存在するかどうかでチェックする方法も考えられます。

検索キーとなっているA列が
>唯一無二のコードを作成し~
のコードに相当するものかどうかわかりませんが、(そうだと仮定して)『シート2に抽出されていないもの』を条件に抽出すれば、そのままシート3の条件に合致するでしょう。

方法の一例を以下に紹介しておきます。
条件として、シート2のA列、B列のキーを分割したままだと難しいので、作業列として(どこでも良いですが) =A2&B2 として連結をした列を作成しておくことにします。
(これを作成すると、シート2の抽出式も若干簡略化できます)
その上で
シート1の各データについて、上記作業列内にキーが存在するか否かでチェックをかけて抽出します。
=AGGREGATE(15,6,ROW(A$2:A$117)/(COUNTIF(シート2!作業列のセル範囲,シート1!A$2:A:117)=0),ROW(A1))
とすることで、該当する(=シート2に記載のない)データの行番号を順に得られます。(最後のROW(A1)を1,2,3…とすることで順に抽出される)

抽出された行番号を基に「シート1!A:A(←実際には値を欲しい列)」からINDEX関数で取得する式を作成して、縦に(=下方に)フィルコピーすれば上から順にデータが抽出されるはずです。
該当する数を超えると、(行番号がなくなり)上式はエラーを返しますので、全体をIFERROR(~~~,"")などで処理しておくのが宜しいと思います。
    • good
    • 0

> Excel初心者です。


なら何でも数式で解決しようとしないことです。どうも初心者は
数式にこだわってかえって処理を複雑にする嫌いがあります。

そもそも Excelのバージョンはいくつなのでしょう。
Office365なら FILTER関数で解決する話でしょう。

Excel2010以降なら クエリで一致と不一致を出せば済みます。
    • good
    • 0

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