Excelの文字列から金額を抽出して合計する方法:2,400行の実例
Excelの経費メモから複数の金額を抽出し、500mlなどの規格を除いて合計。GetSheetAIの実画面、指示文、原文の変更に連動する数式を紹介します。
開発者のローカル環境で撮影した実際の画面です。顧客情報ではなく模擬データを使用し、元のアプリ画面をそのまま掲載しています。短い動画には早送りの処理場面が含まれます。
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 |
| 金額なし | 空欄のまま |
入力の区切りと通貨を決める
この例では商品をセミコロンで区切り、各項目の最後にドル金額を一つ置きます。小数点はピリオドです。複数通貨は別々に集計し、返金や桁区切りがある場合も指定に含めます。商品番号と価格を一緒に足してはいけません。
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になりました。これは本例での確認結果であり、処理時間の保証ではありません。
よくある質問
正規表現は必要ですか?
この形式には不要です。テキスト関数で実現しました。自由な文章なら別の抽出ルールが必要になります。
元のメモは残せますか?
はい。別の出力列を指定し、原文を保持するよう依頼します。