Excelで大文字小文字を区別して集計する

Excelのピボットテーブルが大文字と小文字を区別しない仕様だったため、元の文字列を文字コード列に変換してなんとか区別させてみました。

元の文字列(ここではセルA1)に対して、集計のキーにする文字列(文字コード列)を生成する関数は以下のようになります。

=CONCAT(DEC2HEX(CODE(MID(A1,SEQUENCE(1,LEN(A1)),1))))

関数入力

入れ子になっている関数の実行結果は以下のようになります。

実行結果

処理の流れは以下のようになります。

  1. LENで文字コード列生成対象の文字数を取得する
  2. SEQUENCEで開始位置1~文字数までの数値の配列を作成する
  3. MIDで文字列を1文字ずつ分解する
  4. CODEで各文字を文字コードに変換する
  5. DEC2HEXで16進数に変換する
  6. CONCATで結合して文字列にする
情報
SEQUECE関数の結果が配列になるため、以降のMIDCODEDEC2HEXの実行結果も配列になります。

この関数を通せば、大文字小文字が混在する文字列を区別可能な形に変換することができます。

サンプル

生成した文字コード列をキーにすれば、大文字小文字は区別して集計することができます。

文字コード列は16進数にしたところで大してユーザーフレンドリーでもないので、DEC2HEXは省略しても良いかもしれません。

情報
CONCAT関数を使用しているため、Excel 2016以降で利用できます。
<<PowerShellでクリップボードの画像を日時ベースのファイル名で保存 サーバーソフトウェア更新 1>>