データクリーニング

Excelの文字列から金額を抽出して合計する方法:2,400行の実例

Excelの経費メモから複数の金額を抽出し、500mlなどの規格を除いて合計。GetSheetAIの実画面、指示文、原文の変更に連動する数式を紹介します。

Excelの文字列から金額を抽出して合計する方法:2,400行の実例 — 実際のアプリでの処理結果
実際のアプリでの処理結果 画像を拡大する ↗

開発者のローカル環境で撮影した実際の画面です。顧客情報ではなく模擬データを使用し、元のアプリ画面をそのまま掲載しています。短い動画には早送りの処理場面が含まれます。

A4 paper $32.50; 500ml hand soap $18.80 に含まれる数字は、すべて価格ではありません。正しい合計は $51.30。Excelで文字列から金額を取り出すには、金額を識別するルールが必要です。

結果:2,400行に連動する合計列

開発者が作成した2,400件の模擬経費データを使用しました。顧客情報ではありません。GetSheetAIは元のIDとメモを残し、Amounts と Total を追加しました。実画面は英語のブックと中国語のExcelメニューです。

確認項目 記録された結果
対象 2,400行の合計が期待値と一致
先頭行 $32.50と$18.80で$51.30
規格の数字 A4や500mlを除外
メモを変更 $42.50にすると合計は$61.30
金額なし 空欄のまま
Excelの文字列から金額を抽出して合計する方法:2,400行の実例 — 処理前の作業画面
処理前の作業画面 画像を拡大する ↗

入力の区切りと通貨を決める

この例では商品をセミコロンで区切り、各項目の最後にドル金額を一つ置きます。小数点はピリオドです。複数通貨は別々に集計し、返金や桁区切りがある場合も指定に含めます。商品番号と価格を一緒に足してはいけません。

Excelの文字列から金額を抽出して合計する方法:2,400行の実例 — GetSheetAI に送った指示
GetSheetAI に送った指示 画像を拡大する ↗

GetSheetAIへの指示

ブックとサイドバーを開き、次のように伝えます。

各経費メモからドル金額をすべて抽出し、金額一覧と合計の列を数式で追加してください。500mlなどの規格は除外し、金額がない行は空欄に。メモ変更時は自動更新し、元のデータは残してください。

実際の録画ではTEXTSPLITとTEXTAFTERを使用しました。REGEXEXTRACTは使っていません。AI for Excelの役割は、繰り返しの数式作成をワークブック内で進めることです。

この形式に使える合計式

元のテーブル参照をB2に置き換えると、合計式は次の形です。

=IFERROR(SUM(--TEXTAFTER(TEXTSPLIT(B2,";"),"$")),"")

項目を分割し、ドル記号より後を数値にして足します。MicrosoftのTEXTAFTER資料で対応バージョンを確認できます。Microsoft 365とExcel 2024が対象です。

この式は上記の形式用です。価格が不正な項目やドル記号のない項目が混在すると、IFERRORが空欄を返します。混在するメモには「金額なし」と「形式の確認が必要」を分ける状態列を追加します。実際の$0.00はゼロとして残します。

修正後も使える表にする

合計は文字列ではなく数値のまま通貨表示にします。実演では価格を$10増やすと、$51.30が$61.30になりました。これは本例での確認結果であり、処理時間の保証ではありません。

データ整理の手順と空白セルの補完も参照できます。

よくある質問

正規表現は必要ですか?

この形式には不要です。テキスト関数で実現しました。自由な文章なら別の抽出ルールが必要になります。

元のメモは残せますか?

はい。別の出力列を指定し、原文を保持するよう依頼します。