Excel: 2 つの異なるシートの 2 つの列を比較する

Excel: 2 つの異なるシートの 2 つの列を比較する

Excel の 2 つの異なるシートにある 2 つの列を比較できません。さまざまな方法と数式を使用しましたが、うまくいきません。

シート1column L私は持っている日付例えば1/19/2012の形式でcolumn M"時間"(例:19:00)の形式で指定します。

シート1

シート2 column B日付同じ形式でシート1column Cそして"時間"同じ形式でシート1

シート2

比較したい日時2枚のシートを比較し、一致するかどうかを確認してから、適切な値を取得します。シート2 column D新しいcolumn Oシート1

私は次=L2 & "-" & M2の式を使用しましたシート1column N結合された列を=B2 & "-" & C2持ち、シート2column A結合された列を持つようにします。

今比較しようとしているシート1 Column Nそしてシート2 Column A一致するかどうかを確認し、関連する値を取得しますシート2 Column Dシート1 Column Oしかし、それは機能しません。

注記:シート11876行ありますがシート2行数は 8785 です。

答え1

「結合」列を除いてスプレッドシートを再作成しました。これは、一致させるためにのみ使用する場合、この列は必要ないためです。

私が理解したところによると、sheet1 に sheet2 の 2 つの列と一致させたい列が 2 つあります。一致した場合は、sheet2 の列を sheet1 にコピーします。これは、Excel 内で 2 つの IF() ステートメントを使用して実行できます。これは連続した行に対してのみ機能することに注意してください。sheet1 には 1876 行ありますが、sheet2 には 8785 行あるとおっしゃいましたが、これは最初の 1876 行のみと一致します。

ここに私が設定した 2 つのワークシートがあります。これらはあなたのものと近いものです。

Excelシート1 Excel シート 2

写真からわかるように、各シートの 2 行目と 3 行目を同じにし、4 行目では日付と時刻を一致させず、5 行目では時刻のみを一致させないようにしました。

両方の項目が一致する場合、シート 2 の列 C から情報が取得され、シート 1 の列 C に表示されます。これが、お客様が求めているものだと思います。

Excel の IF 式は、「IF(テスト、[True の場合の値]、[False の場合の値])」のようになります。まず日付が一致するかどうかを確認します。一致する場合は、2 番目のテストを使用して時間が一致するかどうかを確認します。どちらかが失敗すると、一致していないことがわかります。

C2 の式は次のとおりです。

=IF(A2=Sheet2!A2,IF(B2=Sheet2!B2,Sheet2!C2,"Time doesn't match"),"Date doesn't match")

数式を分解すると、次のようになります。シート 1 の A2 がシート 2 の A2 と等しい場合 [IF(A2=Sheet2!A2]、シート 1 の B2 がシート 2 の B2 と等しい場合 [IF(B2=Sheet2!B2]。一致する場合は、シート 2 の C2 の内容を B2 に入力します [Sheet2!C2]。この時点で一致しない場合は、B2 に「時間が一致しません」と入力します。最初の日付テストが一致しなかった場合は、B2 に「日付が一致しません」と入力します。

関連情報