• 締切済み

行と列が重複しない値を取り出したい(エクセル)

エクセル初心者です。 表の中で、  A   B  C (1)2  4  7 (2)6  5  1 (3)3  9  0 この中から小さい順に(1)(2)(3)とABCがそれぞれ重複しない((2),c)((1),A) ((3),B)を取り出したいのですが、どのようにすればよいのでしょうか? よろしくお願いします。

みんなの回答

  • A88No8
  • ベストアンサー率52% (836/1606)
回答No.5

こんにちは >=SMALL($A$1:$C$3,ROW())とするとエラーになってしましました。。。 どうしてなんでしょう。  どんなエラーメッセージになったのでしょう?  もし「#NUM!」ならば、「指定した(この場合ROW()になります)順位の数がありません」といっています。  範囲には9個の数字だけなので10個目(順位で10番目)からこのエラーが出ます。  ちなみにROW()は、行の順序番号を返す関数で1行目に関数を置いたら1、2行目は2、3行目は3というように値を返します。  何かのお役に立てば幸いです(^^)v

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

結構厄介な方法ですが次のようにしてはどうでしょう。 A1セルからC3セルの範囲に1から9までの数値が入っているとします。 作業列としてE2セルからE10セルに1から9までの数値を入力します。 F1セルには列と入力してF2セルには次の式を入力してF10セルまでオートフィルドラッグします。 =IF(NOT(ISERROR(MATCH($E2,$A$1:$A$3,0))),1,"")&IF(NOT(ISERROR(MATCH($E2,$B$1:$B$3,0))),2,"")&IF(NOT(ISERROR(MATCH($E2,$C$1:$C$3,0))),3,"") G1セルには行と入力してG2セルには次の式を入力してG10セルまでオートフィルドラッグします。 =IF(NOT(ISERROR(MATCH($E2,$A$1:$C$1,0))),1,"")&IF(NOT(ISERROR(MATCH($E2,$A$2:$C$2,0))),2,"")&IF(NOT(ISERROR(MATCH($E2,$A$3:$C$3,0))),3,"") H1セルには列と入力し、H2セルには次の式を入力してH10セルまでオートフィルドラッグします。 =IF(COUNTIF(F$2:F2,F2)=1,F2*1,"") I1セルには行と入力し、I2セルには次の式を入力してI10セルまでオートフィルドラッグします。 =IF(AND(H2<>"",COUNTIF(G$2:G2,G2)=1),G2*1,IF(H2<>"",IF(COUNTIF(I$1:I1,1)=0,1,IF(COUNTIF(I$1:I1,2)=0,2,3)),"")) J1セルには答えの数値と入力し、J2セルには次の式を入力してJ10セルまでオートフィルドラッグします。 =IF(H2="","",INDEX($A$1:$C$3,I2,H2))

koroo166
質問者

お礼

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

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんにちは! 解釈が違っていたらごめんなさい。 表の中から小さい順に表示させれば良いということですかね? 一応そういうことだとして・・・ データはA1~C10まであり、D列に表示させるとします。 D1セルに =IF(COUNT($A$1:$C$10)<ROW(A1),"",SMALL($A$1:$C$10,ROW(A1))) という数式を入れ、オートフィルで下へコピーしてみてください。 これで表ないの小さい順に表示されると思います。 以上、参考になれば幸いですが、 的外れなら読み流してくださいね。m(__)m

koroo166
質問者

お礼

ありがとうございます。 >表の中から小さい順に表示させれば良いということですかね? そうなんです。 教えていただいた数式を入れてみましたが、別の値が出てしまいました。初心者なので何故かもわからずすいません。 ありがとうございました。

  • A88No8
  • ベストアンサー率52% (836/1606)
回答No.2

こんにちは  とってもどんくさい方法ですが small 関数とフィルタの合わせ技の一例です。

koroo166
質問者

お礼

画像つきでありがとうございます。 =SMALL($A$1:$C$3,ROW())とするとエラーになってしましました。。。 どうしてなんでしょう。 ありがとうございました。

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.1

(3)Cは0じゃなくて8ですよね? VBAマクロを使う方法は解るのですが、Excel初心者には無理だと思うので、VBAマクロを使う方法はNGですね。 VBAマクロを使わない方法は、地道に手作業でやる方法しか、残念ながら思いつきません。

koroo166
質問者

お礼

ありがとうございます。 VBAマクロは使ったことがありません。 地道にIF文でやっていたのですが、「引数が多すぎる」と出てしまい、途方に暮れています。 ありがとうございました。

koroo166
質問者

補足

(3)Cはそのままゼロのつもりでした。適当に書いたものですいません。

関連するQ&A