2つのシートがあり、1つ目のシートには1〜100番までのデータがあり、2つ目のシートには1,3,7,11,21,...100番と無作為に選ばれたデータがあります。ここから、2つ目のシートに選ばれなかった残りのデータ、2,4,5,6,8,...99番のデータを、3つ目のシートに作りたいのです。マッチングというのでしょうか、こういうやり方はエクセルで可能なのでしょうか?お分かりになる方、教えてください。
シートで 分けると ちょっと わかりにくいので 列単位で わけでみました。
A列には 1から100
B列には 値
C列に
=IF(ISERROR(VLOOKUP(A1,B:B,1,FALSE)),A1,””)
とすると B列に存在しないA列の値が 表示されます。
シートでやる場合は、範囲指定を 変更して シートの指定も必要でしょう。
http://www.asahi-net.or.jp/~ef2o-inue/shiki/sub03_030_03.html
計算式(VLOOKUPで見つからなかったら「???」を表示する)
例えば1つ目のシートにA列に2列挿入し、A列に2つ目のシートから1,3,7,11,21,...100をコピペします。C列に1~100が入っているものとします。
B1に
=ISNA(VLOOKUP(C1,$A$1:$A$x,1,FALSE))
(xはA列の最終行)
として100行コピーすれば、2つ目のシートに無いデータは「TRUE」、有るデータが「FALSE」になります。
B列を最優先キーC列を二番目のキーでソートし、不要な行と、A列B列を削除したらすぐできます。
エクセル素人なものですみません、お教え頂いた数式を入れたのですが、(Xにはデータの行番号を入れればいいのですよね?)関数が数字を返さず、文字列がそのまま記入されてしまうだけなのです・・・。何がもんだいなのでしょう?
http://www.excel.studio-kazu.jp/lib/e1tw/e1tw.html
�G�N�Z���̊w�Z�FVLOOKUP(e1tw)
A列には 1番 2番 3番 ・・・ と番号を入れて
B列には 3番 5番 ・・・ と番号を入れてから
C列に 私が 回答したのを コピーして
100番目まで コピーすればいいですよ。
ああ、例題を見ながら悪戦苦闘の末なんとかうまくいきました!
どうもありがとうございました。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/vlookup.htm
Excel(エクセル)基本講座:表引き関数(検索・行列の関数)
#a2で回答した者です。
コメントに回答します。
>Xにはデータの行番号を入れればいいのですよね?
そうです。1,3,7,11,21,...100が全部で20個なら、20が入ります。
>関数が数字を返さず、文字列がそのまま記入されてしまうだけなのです
文字列が「TRUE」又は「FALSE」なら正解です。
関数がそのまま表示されるなら、そのセルを右クリックして、
「セルの書式設定」→「表示形式」
で、文字列になっていませんか?
こちらでも解決できるんですね。
ありがとうございます。
いつもながら回答してくださる皆様の知識に驚き、本当に助けられます。
お二方、どうもありがとうございました。
すみません、私の説明が不足していました!
各番号には人のデータが入ってるんです。
1番 相沢太郎 男 30歳 ...
2番 青山花子 女 29歳 ...
3番 ...
〜100番
で、無作為にこの中から数十名が選ばれたデータのシートがあって、それで3枚目に残された人物のデータを抽出したい、ということだったのです。番号だけの抽出ではなかったんです。
わざわざお答え頂いたのに申し訳ありません。。。もちろん、ポイントはお支払いします。