Excelで大文字小文字を区別して集計する
Excelのピボットテーブルが大文字と小文字を区別しない仕様だったため、元の文字列を文字コード列に変換してなんとか区別させてみました。
元の文字列(ここではセルA1)に対して、集計のキーにする文字列(文字コード列)を生成する関数は以下のようになります。
=CONCAT(DEC2HEX(CODE(MID(A1,SEQUENCE(1,LEN(A1)),1))))
入れ子になっている関数の実行結果は以下のようになります。
処理の流れは以下のようになります。
LEN
で文字コード列生成対象の文字数を取得するSEQUENCE
で開始位置1~文字数までの数値の配列を作成するMID
で文字列を1文字ずつ分解するCODE
で各文字を文字コードに変換するDEC2HEX
で16進数に変換するCONCAT
で結合して文字列にする
SEQUECE
関数の結果が配列になるため、以降のMID
、CODE
、DEC2HEX
の実行結果も配列になります。この関数を通せば、大文字小文字が混在する文字列を区別可能な形に変換することができます。
生成した文字コード列をキーにすれば、大文字小文字は区別して集計することができます。
文字コード列は16進数にしたところで大してユーザーフレンドリーでもないので、DEC2HEX
は省略しても良いかもしれません。
CONCAT
関数を使用しているため、Excel 2016以降で利用できます。投稿日:
|
最終更新日:
カテゴリー:
雑記