電子書籍の厳選無料作品が豊富!

エクセル2018で
表から重複しない項目を抽出する方法について
unique関数が対応していないので
何かいい方法がないかお力をお借りしたいです。
シート1に下記のような横長の表(空白セルあり)
aさん 1 2 2 3
bさん 2 2 2
cさん 3 4 5
シート2にも下記のように
シート1と同じような表があります。
aさん 3 3
bさん 6 2 2
cさん 3 4 6
したいことはシート1とシート2の表から
別シートに項目を下記のように抽出したいです。
1
2
3
4
5
6
よろしくお願いいたします。

  • 画像を添付する (ファイルサイズ:10MB以内、ファイル形式:JPG/GIF/PNG)
  • 今の自分の気分スタンプを選ぼう!
あと4000文字

A 回答 (1件)

シート1の表やシート2の表がそれぞれシート1のどのセル範囲やシート2のどのセル範囲に存在しているのか不明ですし、数値が連続しておらず、途中で数値が飛んでいる場合にはどうすれば良いのかも不明なので、ご質問文に書かれている内容だけではどうすれば良いのか判断がつきません。


 そのため、質問者様がやりたい事に沿っているのかどうかは不明ですが、取りあえず下記のような条件の基で、下記のような処理の仕方をする場合における方法に関して回答しておきます。

 今仮にSheet1には下記のような表が入力されているものとして、その中で「aさん」と入力されているセルはSheet1のB3セルだとします。

aさん 3 3
bさん 6 2 2
cさん 3 4 6
dさん 2 5 6

同様にSheet2には下記のような表が入力されているものとして、その中で「aさん」と入力されているセルはSheet2のC4セルだとします。

aさん 3 3
bさん 6 2 2
cさん 3 4 6
dさん 8 9

 そしてSheet3のA2セルから下に向かって次のように抽出結果を表示させるものとします。(Sheet1とSheet2のどちらの表にも数値の7は存在していないため6の次は8になっています)

Sheet3のA1セル 空欄又は項目名
Sheet3のA2セル 1
Sheet3のA3セル 2
Sheet3のA4セル 3
Sheet3のA5セル 4
Sheet3のA6セル 5
Sheet3のA7セル 6
Sheet3のA8セル 8
Sheet3のA9セル 9

 このような処理の仕方で宜しいのでしたら、Sheet3で使用する関数は以下のようなものとなります。
 まずSheet3のA2セルに次の関数を入力して下さい。

=IF(COUNT(Sheet1!$C$3:$F$6,Sheet2 !$D$4:$F$7),MIN(Sheet1!$C$3:$F$6,Sheet2 !$D$4:$F$7),″″)

 次にSheet3のA3セルに次の関数を入力して下さい。

=IF(A2=″″,″″,IF(A2=MAX(Sheet1!$C$3:$F$6,Sheet2 !$D$4:$F$7),″″,MIN(IFERROR(SMALL(Sheet1!$C$3:$F$6,COUNTIF(Sheet1!$C$3:$F$6,″<=″&A2)+1),9E307),IFERROR(SMALL(Sheet2 !$D$4:$F$7,COUNTIF(Sheet2 !$D$4:$F$7,″<=″&A2)+1),9E307))))

 次にSheet3のA3セルをコピーして、同シートのA4以下に貼り付けて下さい。
 以上です。


 尚、Sheet3のA3セルに入力した関数の中のSMALL関数を使っている部分に関しては、LARGE関数を使用しても似たような処理を行う事が出来ますが、もし表の中のセルに数値と空欄だけではなく文字列データーが入力されているセルも含まれていた場合には、LARGE関数では正しい値を抽出出来なくなる事がありますから、上記のSheet3のA3セルの関数ではそのような誤作動を避けるためにLARGE関数を使わずにSMALL関数を使用しています。
    • good
    • 0
この回答へのお礼

説明不足にも関わらず
早急なご回答ありがとうございます。
やりたかったことが無事できました。
助かりました。ありがとうございます。

お礼日時:2025/03/16 08:55

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


おすすめ情報