- 締切済み
エクセル一つのセルに記載してある内訳の合計について
一つのセル(I13)に 100000 12000 5000 送料500 のように改行して、ずらずらとかいてある内訳の合計値を セル(I20)に表示したいのですが可能でしょうか。 お教えください。 改行のルールとしては 数字は半角で入力しALT+ENTERで改行しています。 --------------------------------------------------------------------------------
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- KURUMITO
- ベストアンサー率42% (1835/4283)
改行が6行まででしたら次の式を入力すればよいでしょう。それ以上の行が有るのでしたら同様に追加した式を使用すればよいでしょう。 =IFERROR(MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(I13,CHAR(10),","),"送料",""),",",REPT(" ",100)),1,100)*1,0)+IFERROR(MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(I13,CHAR(10),","),"送料",""),",",REPT(" ",100)),100,100)*1,0)+IFERROR(MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(I13,CHAR(10),","),"送料",""),",",REPT(" ",100)),200,100)*1,0)+IFERROR(MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(I13,CHAR(10),","),"送料",""),",",REPT(" ",100)),300,100)*1,0)+IFERROR(MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(I13,CHAR(10),","),"送料",""),",",REPT(" ",100)),400,100)*1,0)+IFERROR(MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(I13,CHAR(10),","),"送料",""),",",REPT(" ",100)),500,100)*1,0)
- ka28mi
- ベストアンサー率41% (969/2315)
改行して書いてある時点で、「文字」として扱われています。 普通の処理では、文字は計算できません。 私でしたら、文字として入力されている値を数字として切り出してから合計します。 =find(char(10),I13,1)とすれば、見えないけれど入っている改行マークのありかを探せますから、その繰り返しですね。 最終的には「送料」の文字も消す必要がありますから、一つの式で処理できるか、複数に分けた方が間違いにくいかは、ご自身でないと分からないと思います。 もし、職場で、そういうエクセルフォーマットがあれば、私でしたらフォーマットを変えることを提案します。 ひとつのセル内に複数の値を入れると、エクセルを使う意味がありません。それならワードの方が綺麗です。 お役に立てず、申し訳ありません。