質問: excel:テーブルが正しくコピーされたかどうかをチェックするチェックサムのような関数 次のシナリオがあります。 大きなテーブルのあるスプレッドシートaがあります。 スプレッドシートbを開き、テーブルをaからその中にコピーします。 テーブルをaからbに正しくコピーしたかどうかを確認したい。 手順3を実行するために、通常、テーブル内のすべての数値を合計(および平均など)して、元のテーブルと同じ数値が得られるかどうかを確認します。ただし、指定された範囲のテーブルのチェックサム(md5など)を返すchecksum(<2d range>)のようなチェックサム関数が必要です。このcheckusum関数をスプレッドシートa、次にスプレッドシートbで使用し、取得した値を比較して、コピーしたテーブルが元のテーブルと一致するかどうかを確認します。
回答: ソーステーブルとターゲットテーブルの値をペアごとに比較し、値が一致する場合はtrueを返し、一致しない場合はfalseを返すワークシート関数を使用して何かをつなぎ合わせることができます。たとえば、次の例では、sheet1とsheet2のa1:z100を比較しています。=sumproduct(1*exact(sheet1!a1:z100,sheet2!a1:z100))=rows(a1:z100)*columns(a1:z100) これにより、各範囲のセルのペアごとに大文字と小文字が区別された比較が行われ、一致の数がカウントされます。次に、このカウントは、長方形の範囲内のセルの数と比較されます。カウントが一致する場合は、true。それ以外の場合は、false。これはセルの値のみを比較することに注意してください。これは数式をチェックせず、出力のみをチェックします。