• 締切済み

2表を比較し、相違している行番号と差額を表示したい

お世話になります。 下記の様な「A.xls」と「B.xls」2表があり照合したいと思います。 MATCH関数を使用したのですが、比較対象データの頭からの行数が表示されてしまいます。 現状 A表C3セルに =MATCH($A$3:$A$20,[B.xls]Sheet1!$A$3:$A$15,0) 入力しただけです。 これをEXCELのB表左端の行番号を表示し、また比較対象となったものの差額を表示したいと 思います。 「#N/A」の場合は、何も表示しないようにするか「対象データがありません」等のメッセ時を表示 したい。 賢者の皆様、お知恵をお貸し下さい。 よろしくお願いいたします。

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

>相違している行番号と差額を表示したい まず,ご相談でヤリタイことをキチンと実現するなら, C3には =IFERROR(MATCH(A3,'[B.xls]Sheet1'!A:A,0),"") D3には =IFERROR(B3-INDEX('[B.xls]Sheet1'!B:B,C3),"") として下向けにコピーして埋めておきます。 その上で,ごく一般的なエクセルの使い方では,わざわざ行番号を計算するような使い方をすることは少なくて, C列を用意せずD列でいきなり =IFERROR(VLOOKUP(A3,'[B.xls]Sheet1'!A:B,2,FALSE),"") のようにコタエを出してしまう事が多いとは思います。

happy_rio123
質問者

お礼

keithin 様 早速の回答ありがとうございます。 最初のC3およびD3に式を入力して行ったところ。見事に求める結果が得られました。 ありがとうございます。 ただし、 >その上で,ごく一般的なエクセルの使い方では,わざわざ行番号を計算するような使い方をすることは少>なくて,C列を用意せずD列でいきなり=IFERROR(VLOOKUP(A3,'[B.xls]Sheet1'!A:B,2,FALSE),"") >のようにコタエを出してしまう事が多いとは思います。 では、D列に入力すると、結果のB.xlsシートの数値のみが表示され、求めたい差額および,B.xlsシートの行が表示されませんでした。 私の理解度が低く,申し訳ございません。 もう少し詳しくお教えいただけると幸いです。 よろしくお願いいたします。

  • mar00
  • ベストアンサー率36% (158/430)
回答No.3

C3セルに =IF(A3="","",IF(COUNTIF([B.xls]Sheet1!$A:$A,A3),VLOOKUP(A3,[B.xls]Sheet1!$A:$B,2,FALSE),"対象データがありません")) としてコピーでいいと思います。

happy_rio123
質問者

お礼

mar00様 早速の回答ありがとうございます。 C3列に入力し試して見ましたが、残念ながら結果は、「#VALUE!」となってしまいました。 どこか間違っているでしょうか? よろしくお願いいたします。

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

C列に差額を表示させるのでしたらC3セルには次の式を入力してC20セルまでオートフィルドラッグコピーします。 =IF(OR(A3="",COUNTIF([B.xls]Sheet1!$A$3:$A$15,A3)=0),"",B3-VLOOKUP(A3,[B.xls]Sheet1!$A$3:$B$15,2,FALSE))

happy_rio123
質問者

お礼

KURUMITO様 早速の回答ありがとうございます。 C3列に入力し試して見ましたが、残念ながら結果は、お教えいただいた、1,2とも 「#VALUE!」となってしまいました。 どこか間違っているでしょうか? よろしくお願いいたします。

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

C3セルには次の式を入力してC20セルまでオートフィルドラッグコピーします。 =IF(OR(A3="",COUNTIF([B.xls]Sheet1!$A$3:$A$15,A3)=0),"",VLOOKUP(A3,[B.xls]Sheet1!$A$3:$B$15,2,FALSE))

関連するQ&A