プロが教える店舗&オフィスのセキュリティ対策術

お世話になります。

下記の様な「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」の場合は、何も表示しないようにするか「対象データがありません」等のメッセ時を表示
したい。


賢者の皆様、お知恵をお貸し下さい。
よろしくお願いいたします。

「2表を比較し、相違している行番号と差額を」の質問画像

A 回答 (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),"")
のようにコタエを出してしまう事が多いとは思います。
    • good
    • 0
この回答へのお礼

keithin 様

早速の回答ありがとうございます。

最初のC3およびD3に式を入力して行ったところ。見事に求める結果が得られました。
ありがとうございます。

ただし、
>その上で,ごく一般的なエクセルの使い方では,わざわざ行番号を計算するような使い方をすることは少>なくて,C列を用意せずD列でいきなり=IFERROR(VLOOKUP(A3,'[B.xls]Sheet1'!A:B,2,FALSE),"")
>のようにコタエを出してしまう事が多いとは思います。

では、D列に入力すると、結果のB.xlsシートの数値のみが表示され、求めたい差額および,B.xlsシートの行が表示されませんでした。


私の理解度が低く,申し訳ございません。
もう少し詳しくお教えいただけると幸いです。

よろしくお願いいたします。

お礼日時:2012/02/11 11:23

C3セルに


=IF(A3="","",IF(COUNTIF([B.xls]Sheet1!$A:$A,A3),VLOOKUP(A3,[B.xls]Sheet1!$A:$B,2,FALSE),"対象データがありません"))
としてコピーでいいと思います。
    • good
    • 0
この回答へのお礼

mar00様

早速の回答ありがとうございます。

C3列に入力し試して見ましたが、残念ながら結果は、「#VALUE!」となってしまいました。

どこか間違っているでしょうか?

よろしくお願いいたします。

お礼日時:2012/02/11 11:17

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))
    • good
    • 0
この回答へのお礼

KURUMITO様 早速の回答ありがとうございます。

C3列に入力し試して見ましたが、残念ながら結果は、お教えいただいた、1,2とも
「#VALUE!」となってしまいました。

どこか間違っているでしょうか?

よろしくお願いいたします。

お礼日時:2012/02/11 11:12

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))
    • good
    • 0

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