• ベストアンサー

エクセルのワークシート関数でA、B列不同数取得

エクセルのワークシートA列とB列にデータがあります。 データは数値、文字列、空白です。エラー値はありません。 A列のセルと同じ行のB列のセルの値が同一でないA列データの個数(またばB列データの個数)を求めるワークシート関数はないでしょうか?(空白同士は同一とみなします。) C列などに作業列を作ってA、Bの比較をして求める方法はすぐに思いつきますが、作業列なしで求めたいのです。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

=SUMPRODUCT((A1:A99<>B1:B99)*1) とかでいいです。 ご利用のエクセルのバージョンがご相談に書かれていませんが、新しいエクセルを使っているなら =SUMPROEUCT((A:A<>B:B)*1) と計算する事も可能です。ただし劇重なので、教わっても使ってはいけません。

emaxemax
質問者

お礼

ありがとうございます。

その他の回答 (1)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.2

論理演算と合計の組み合わせで目的の値が得られます。 但し、配列演算になりますので数式の組み立てには守るべき規則があります。 基本的にはSUM関数で算出できます。 =SUM((A:A<>B:B)*1) この数式はキー入力時にCtrl+Shift+Enterで確定します。 論理演算のA:A<>B:BはTRUEまたはFALSEが返りますので、これに1を乗じると1または0になります。(0を加えても同じです) Enterキーのみで確定するには次のようになります。 =SUMPRODUCT((A:A<>B:B)*1) 他の数式では次のような数式も使えます。 =SUM(INDEX((A:A<>B:B)*1,0)) INDEX関数は行番号を0またはブランクにすると配列全体を返しますのでそれを合計すれば目的に合った値を得られます。

emaxemax
質問者

お礼

さっそくありがとうございます。