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

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

元の文字列(ここではセルA1)に対して、文字コード列を生成。

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

生成した文字コード列を基準に集計すれば、大文字小文字は区別される。文字コード列は16進数にしたところで大してユーザフレンドリーでもないので、DEC2HEXは省略しても良いかもしれません。

やっていることは、MIDで文字列を1文字ずつ分解(このときSEQUENCEで開始位置1~文字数までの数値の配列を作成)、CODEで各文字を文字コードに変換し、DEC2HEXで16進数に変換。ここまでは分解した文字単位で処理し、最後にCONCATで結合して文字列にする。

CONCATを使用しているため、Excel 2016以降で利用できます。

b-mobileの通信速度を改善してみる

現在b-mobileのスマートSIMを使い始めて1ヶ月半になるが、思ったより速度が出ない。スマートSIMには高速通信権なし、1GBまで、2GBまでの3つのプランを選んで使うことができ、当初1GBのプランで契約した。しかし下り1Mbpsを超える速度が出ることがまずないため1ヶ月経ったところで150Kbpsのプランに変更してしまった。

1GBプランで150Kbps以上は出ていたのだから、150Kbpsに制限されるプランなら上限までは速度が出るだろう。と考えた訳だが、これがかなり甘い考えだった。というのも、下り速度を測ったところでせいぜい数十Kbpsしか出ていないのだ。これではWebの閲覧に支障が出て使い物にならない。

しかし、VPN経由の通信は計測した数値ほどの遅さを感じない。このことから、速度が遅い理由を推測してみた。

b-mobile スマートSIMでは150Kbpsに制限された状態では、通信内容を圧縮するプロキシサーバが非暗号化通信時には強制的に適用されるとのことだが、このプロキシサーバがボトルネックになっているのではないかと考えた訳だ。

前フリが長くなったが、以下のことを試したところ、通信速度が向上した。

  • 自宅サーバ内にプロキシサーバを立てる
  • 自宅LANにVPN経由で参加する
  • ブラウザのプロキシサーバ設定に自宅サーバのプロキシサーバを指定する

これで、2〜30Kbpsだった下り速度が130Kbps前後までに改善された。これなら文字中心のサイトを見る分には充分使い物になる。

ただし、いちいちVPNに接続したり、ブラウザのプロキシ設定を変えたりするのが面倒に感じてしまいそうだ。あくまで最後の手段としておくのがちょうどよさそうだ。

とりあえず

ブログから再開してみる