文字列の抽出と計算 2.Excel関数 ~ ① 文字数の規則性
はじめに
前回は、数値がスペースで区切られていることに着目し、「データ」タブの「区切り位置」を用いて中央の数字を取り出しました。
今回も、前回と同じテーマで、別の解決方法を模索してみます。
今回のテーマ
前回と同じテーマです。
一つのセルに、3桁の数字が3つあります。これらは、半角スペースで区切られています。この数字について、真ん中のグループの和を求めてみましょう。
文字数の規則性を利用する
今回抽出したい値は全て、5文字目から始まっています。また、その文字数は全て3文字です。この規則性を利用して、文字を抽出します。
使用する関数:MID関数
指定文字列について、指定位置から指定長さの文字を抽出する関数です。
今回は B2 に、次のように入力してみましょう。
このように、中央の「456」を抜き取ることができました。
他の行も、同様に設定します。
それでは、B列に抽出した値の合計を、SUM関数で求めてみましょう。
恐らく答えは、0 になったはずです。
理由は、抜き出した数字が「文字列」として扱われているためです。この場合、1を掛けることで、数値に変換することができます。
残り二つの行も同様に1を掛けることで、合計が正しく表示されました。
おわりに
今回の方法に対する評価(私見)は、以下のとおりです。
メリット :
- メンテナンスが容易
- 行列の増減に追従してくれる
デメリット:
- 「*1」など、直感的に理解しにくい(知らないと設定できない)
- 文字数が不規則な場合に対応できない。
一旦数式を設定すれば自動的に計算してくれる点が、前回より進歩したところでしょうか。ただし、文字数が変わるなどの「例外」に対応できない、という弱点があります。
(おわり)