0

2 つの列の内容が同じかどうか (列は 2 つの異なるタブにあります) を確認するための非常に幅広く動的な方法を探しています。内容はテキスト、数値、日付とさまざまです。

これまでのところ、これを行う唯一の方法は、各列のすべてのエントリを組み合わせて比較することです。たとえば、列のすべてのエントリを一緒に追加し、それを他の追加された列と比較します。残念ながら、列をすばやく効率的に追加する方法を見つけることができませんでした。

関数を使い始めましたCONCATENATEが、この関数は値を手動で入力する必要があり、 で作成された範囲を認識できないことにすぐに気付きましたINDIRECTINDIRECTを使用できればCONCATENATE、2 つの列の値を簡単に比較できます。

INDIRECT比較する必要がある数千の列があり、比較しているすべての列の場所を知っているので、理想的には範囲を作成するために使用したいと思います。

以下の例は非常に基本的なものであり、単に私のニーズを説明するために使用されています。セル C7:C16 を "Sheet1" セル A1:A10 内にある列と比較しようとしています。

別の例でCONCATENATE(D7:16)は、結果が Sheet3!A1:A10 にabcdefghijあるものと比較されます。CONCATENATE

必要性: INDIRECT を使用して指定された範囲内のエントリを連結し、正確さを比較できるようにする方法。

これを達成する方法について何か意見はありますか?

ここに画像の説明を入力

4

1 に答える 1

1

Concatenate を使用して、範囲内のすべてのセルを追加しようとしています。それはうまくいきません。Concatenate には、範囲ではなく個別の引数が必要です。

このような比較には、配列数式が必要です。

C7 から C100 までのすべてのセル (または、データが最も多い列に必要な行数) をすべて選択し、次の数式を入力します。

=INDIRECT("'"&C$1&"'"&"!"&C$2&C$3&":"&C$2&C$4)

Ctrl- Shift-で確認しますEnter

すべてのセルが一度に入力され、指定した範囲の値が最初の 4 行に表示されます。

数式を列 D にコピーします。

E7に式を入力します

=C7=D7

そしてコピーダウン。これで、Countif を使用して列 E の FALSE 値をカウントし、それを使用して列が同一かどうかを判断できます。C6 では:

=IF(COUNTIF(E:E,FALSE),"not the same","identical")

条件付き書式を使用して、「FALSE」値を強調表示できます。

スクリーンショットを参照してください。

ここに画像の説明を入力

于 2015-06-03T20:57:05.793 に答える