質問: excelでセル内の数値のみ抽出し、合計値を別のセルへ記入したい。 添付画像のように、数字/記号/文字/改行が混在しているセルから数字のみを抽出し、別セルへ合計値を算出する方法を教えてください。 よろしくお願いいたします。
回答: こんにちは 「セル内改行で分割して、数値の行のみを合計する」という意味と解釈しました。 ユーザ定義関数にしておくのが便利かもしれません。 ご例示の場合であれば、c2セルに =addvalue(a1) と入力して下方にフィルコピーすれば計算できるようになります。 事前準備として、vbaのエディタで標準モジュールに以下をコピペしておきます。 function addvalue(byval target as range) dim ary, n as integer ary = split(target.text, vblf) addvalue = 0 for n = lbound(ary) to ubound(ary) if isnumeric(ary(n)) then addvalue = addvalue + ary(n) next n end function ※ 引数には単体セルを与えてください。(複数セル範囲の場合はエラー値を返します)