文字列の抽出と計算 2.Excel関数 ~ ① 文字数の規則性

 

 はじめに

前回は、数値がスペースで区切られていることに着目し、「データ」タブの「区切り位置」を用いて中央の数字を取り出しました。

infoment.hatenablog.com

今回も、前回と同じテーマで、別の解決方法を模索してみます。

 

今回のテーマ

前回と同じテーマです。

一つのセルに、3桁の数字が3つあります。これらは、半角スペースで区切られています。この数字について、真ん中のグループの和を求めてみましょう。

 

f:id:Infoment:20180619063141p:plain

 

文字数の規則性を利用する

今回抽出したい値は全て、5文字目から始まっています。また、その文字数は全て3文字です。この規則性を利用して、文字を抽出します。

 

使用する関数:MID関数

指定文字列について、指定位置から指定長さの文字を抽出する関数です。

今回は B2 に、次のように入力してみましょう。

f:id:Infoment:20180620064621p:plain

 

このように、中央の「456」を抜き取ることができました。

f:id:Infoment:20180620065206p:plain

 

他の行も、同様に設定します。

f:id:Infoment:20180620183302p:plain

 

それでは、B列に抽出した値の合計を、SUM関数で求めてみましょう。

f:id:Infoment:20180620183512p:plain

 

恐らく答えは、0 になったはずです。

f:id:Infoment:20180620183641p:plain

 

理由は、抜き出した数字が「文字列」として扱われているためです。この場合、1を掛けることで、数値に変換することができます。

f:id:Infoment:20180620184001p:plain

 

残り二つの行も同様に1を掛けることで、合計が正しく表示されました。

f:id:Infoment:20180620184151p:plain

 

 

おわりに

今回の方法に対する評価(私見)は、以下のとおりです。

メリット :

  • メンテナンスが容易
  • 行列の増減に追従してくれる

デメリット:

  • 「*1」など、直感的に理解しにくい(知らないと設定できない)
  • 文字数が不規則な場合に対応できない。

 

 一旦数式を設定すれば自動的に計算してくれる点が、前回より進歩したところでしょうか。ただし、文字数が変わるなどの「例外」に対応できない、という弱点があります。

 

(おわり)