• 締切済み

複数セルに入力した数字同士の加減算

EXCEL2013で金銭出納帳を作成しています。 市販の罫線入り出納帳のように、金額欄は桁毎に異なるセルに入力するようにしました。 例えば、A10は10,000円の桁入力、B10は1,000円の桁入力、C10には100円の桁入力・・・となります。 12,345円と入力する場合、A10に「1」、B10に「2」、C10に「3」、D10に「4」、E10に「5」となります。 つまり、A10×10000+B10×1000+・・・・+E10=12,345となります。 次行に67,890円と入力する場合、A11に「6」、B11に「7」、C11に「8」、D11に「9」、E11に「0」となり、同様にA11×10000+B11×1000+・・・・+E11=67,890となります。 この複数のセルに跨がった金額同士を加算したり、減算したりする場合、簡単に計算する方法はないでしょうか? やはり足す場合は、(A10×10000+B10×1000+・・・・+E10)+(A11×10000+B11×1000+・・・・+E11) 引く場合は(A10×10000+B10×1000+・・・・+E10)-(A11×10000+B11×1000+・・・・+E11)とするしかないんですかね? 簡単に計算できる方法があれば、お教えください。 よろしくお願いします。

みんなの回答

  • naoto0216
  • ベストアンサー率46% (183/391)
回答No.12

>F10に合計を出すにしても、その合計を求める簡単な方法はないか?というのが質問です。 回答させて頂いた式が一番「簡単」ではないですか? 関数使わずに単純に足し算の数式です。この数式を毎回手入力するなら 手間ですが、セルの位置が毎回変わる訳ではないんですよね? セルの位置が固定であれば、数式も固定になるかと思うので、予め 入れとけばいいだけかなと。。 もしかして、数式を誰かに見られるのが恥ずかしいとか、そういう話ですか? だとしたら仰っている「簡単」という意味を勘違いしておりました。 失礼しました。

  • 178-tall
  • ベストアンサー率43% (762/1732)
回答No.11

題意を憶測すると、加算結果は桁分け不要にもみえる。 (その方が一段ぶん楽) 答は D5 に…。    B   C   D   --   --   --    8   7   6    9   8   5    7   8   2   (+   --   --   --   24   23   13    SUM   24  263  2643   TOPDOWN   ↑ TOPDOWN  =B4       ↑   =B5*10+C4           ↑        =C5*10+D4   

  • 178-tall
  • ベストアンサー率43% (762/1732)
回答No.10

< ANo.8 更なる蛇足。  簡単な表サンプルを…。  上 - 数値表示  下 - 数式表示 --------------    A   B   C   D    --   --   --   -- 1 )     8   7   6 2 )     9   8   3 3 )     7   8   2 (+    --   --   --   -- 4 )     24   23  11 5 )  2   2   1    --   --   --   -- 6 )  2   6   4   1    ↑ 列-A 4 ) 5 ) =QUOTIENT(B4+B5,10) 6 ) =MOD(A4+A5,10)        ↑ 列-B    4 ) =SUM(B1:B3)    5 ) =QUOTIENT(C4+C5,10)    6 ) =MOD(B4+B5,10)            ↑ 列-C       4 ) =SUM(C1:C3)       5 ) =QUOTIENT(D4+D5,10)       6 ) =MOD(C4+C5,10)                ↑ 列-D           4 ) =SUM(D1:D3)           5 )           6 ) =MOD(D4+D5,10)   

  • 178-tall
  • ベストアンサー率43% (762/1732)
回答No.9

< ANo.8  錯誤訂正。      ↑ 列 C   =SUM(C1:C3)       SUM   =QUOTIENT(D4+D5,10)   QUO   =MOD(C4+C5,10)     MOD   

  • 178-tall
  • ベストアンサー率43% (762/1732)
回答No.8

小学校方式の例。 C 列に注目。 各桁総和 =SUM(C1:C3) を出してから、桁上げ =QUOTIENT(D4+B5,10) 、残った =MOD(C4+C5,10) で結果。 A  B  C  D  E -- --  -- -- --   8  8  2  9     2  9  7  3     1  8  4  7   (+ -- -- --  --  ---   11  25  13  19    SUM 1  2  1  1       QUO -- -- --  --  --- 1  3  6  4  9    MOD      ↑ 列 C   =SUM(C1:C3)       SUM   =QUOTIENT(D4+B5,10)   QUO   =MOD(C4+C5,10)     MOD (よろしく、ご判読のほどを…)   

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.7

以下のような数式でA1:E1セルの数字を計算することができます。 =SUMPRODUCT(A1:E1,10^{4,3,2,1,0}) したがって、1行目と2行目の減算なら以下の式になります。 =SUMPRODUCT(A1:E1,10^{4,3,2,1,0})-SUMPRODUCT(A2:E2,10^{4,3,2,1,0}) もう少し簡略化するなら、以下の配列数式で計算できます。 =SUM((A1:E1-A2:E2)*10^{4,3,2,1,0}) 1行目と2行目の加算なら(多数の行も加算できます)以下の数式が簡単です。 =SUM(A1:E2*10^{4,3,2,1,0}) 上記の2つの式は、配列数式ですので、入力後Ctrl+Shift+Enterで確定してください

  • shintaro-2
  • ベストアンサー率36% (2266/6245)
回答No.6

別のやり方としては、 金額そのものは普通に入力し、 表示のみ別シートに 桁毎に区切って表示した方が楽ではないですか?

black2005
質問者

お礼

ご回答ありがとうございます。 まさに、その通りだと気付きました。 欄外に普通に入力して加減算し、その結果を出納帳にセル単位で表示させる方法が良いと気付きました。 貴重なアドバイスに感謝致します。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.5

>この複数のセルに跨がった金額同士を加算したり、減算したりする場合、簡単に計算する方法はないでしょうか? >やはり足す場合は、(A10×10000+B10×1000+・・・・+E10)(A11×10000+B11×1000+・・・・+E11) そのような計算は不要です。 Excelでは数字のみの文字データを数値と見做して演算できます。 従って、次のようになります。 =(A10&B10&C10&D10&E10)+(A11&B11&C11&D11&E11)→("12345")+("67890")→80235 計算結果は数値なのでこれを各桁の数字に置き換える必要があればMID関数で1桁ずつ取り出せば良いでしょう。 尚、加算と減算をどのように判断するかはあなたの応用力に掛かってきます。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

>簡単に計算できる方法 何を「簡単」と言うかは人それぞれなんですけどね。 方法1) A~E列の今記入してある数字は「全て」消す A~E列に「文字列」の書式を設定する 改めてA10からE10に1,2,3,4,5を記入する 改めてA11からE11に6,7,8,9,0を記入する たとえば空っぽのG10セルに、「カンマ区切り」の書式を必ず設定しておく =PHONETIC(A10:E10)+PHONETIC(A11:E11) と計算すると、80235が出てくる たとえば空っぽのG11セルに、「数値」の書式を必ず設定しておく =PHONETIC(A11:E11)-PHONETIC(A10:E10) と計算すると、55545になる 方法2) B10からF10に5,4,3,2,1を記入する B11からF11に9,8,7,6,5を記入する A20に =MID(TEXT(SUMPRODUCT($B10:$F19*10^{4,3,2,1,0}),"??????"),COLUMN(A1),1) と記入、A20をコピーしてF20まで貼り付ける。 #勝手に違うやり方をすると出来ないので、必ず説明の通り間違いなく操作します。

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.3

文字列をつなげるConcatenateという関数があります。これを使って、 たとえば、 =Concatenate(A10,B10,C10,D10,E10)+Concatenate(A11,B11,C11,D11,E11) で計算できますが、残念なことにこの関数は、セル範囲の指定ができなくて、「,」で区切って1つずつ指定しなければなりません。 それで、VBAでセル範囲を指定するユーザー定義関数を作って、たとえば、 =Concatntrng(A10:E10)+Concatntrng(A11:E11) という感じにすればいいと思います。 ユーザー定義関数は10行もあればできるでしょう。VBAでよければコードは書きますが。

関連するQ&A