
Excel の 2 つの異なるシートにある 2 つの列を比較できません。さまざまな方法と数式を使用しましたが、うまくいきません。
でシート1column L
私は持っている日付例えば1/19/2012の形式でcolumn M
、"時間"(例:19:00)の形式で指定します。
でシート2 column B
は日付同じ形式でシート1、column C
そして"時間"同じ形式でシート1。
比較したい日時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 つのワークシートがあります。これらはあなたのものと近いものです。
写真からわかるように、各シートの 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 に「日付が一致しません」と入力します。