プロが教える店舗&オフィスのセキュリティ対策術

Excel 初心者です。マクロ等は使わずに以下の点を教えて頂きたいです。

1、O12~U18までの合計値をI41~P41に表示させたいのですがセルをまたいでの
  繰り上げした合計値を表示させる関数を教えて頂きたいです。
  (画像ではただの合計値になってしまい繰り上げができていません。)

2、AK12~AQ27までの合計値をQ41~X41に表示させたいのですが
  セルをまたいでの繰り上げした合計値を表示させる関数を教えて頂きたいです。
  (画像ではただの合計値になってしまい繰り上げが出来ていません。)

3、一番下の欄の「前日より繰越」を1「入金計」を2「出勤計」を3
  「翌日へ繰越」を4とした場合、1は手入力2は質問1の関数で自動入力
  3は質問2の関数で自動入力。ここでもうひとつ教えて頂きたいのが
  4のY41~AF41に1+2-3の計算で入る関数を教えて頂きたいです。

  ただの合計や引き算の関数はわかるのですがセルが別になっている状態の
  自動繰り上げへ繰り下げの関数がわからず困っています。

  お手数をお掛け致しますが誰か分かる方回答を宜しくお願い致します。

「Excel セルをまたいで合計値を出した」の質問画像

A 回答 (2件)

こんにちは



「1セルに一桁ずつの数値が入っていて、それを合計計算したい」ということでしょうか?
できないことはないと思いますが、結局のところ「数値に換算して」「合計して」「結果を一桁ずつ取り出す」という処理になってしまうので、No1様がご指摘のように、数値入力で計算しておいた方が簡単ですね。

ご提示の位置関係だと、セル位置がずれていたりするので、添付図のように簡略化してわかりやすくしたもので、方法について説明しておきます。

添付図では、
・B2:H9に一桁ずつの数値が入力されており
・その合計を10行目に算出する
例です。
(J列に結果確認用に数値計算を入れてありますが、これは検算用に使用したもので必要はありません。)

B2:H9の各行単純に合計するだけであれば、
 =SUM(MMULT(IF($B$2:$H$9="",0,$B$2:$H$9),{1000000;100000;10000;1000;100;10;1}))
で求めることができます。(↑上式は配列数式です。)
(MMULTなんて関数は、初めて使いました…)

この値を各桁に分解すれば良いだけなのですが、ちょいと面倒ですね。
MOD、INTなどで計算するのが妥当と思いますが、そのままだと前0の入る形式になってしまうので、これを除く処理も行わなければならなくなります。
・・・ということで、テキスト化してしまって、後ろから一文字ずつ取るという方法で表示することにしています。

添付図ではB10セルに
=IFERROR(MID(TEXT(SUM(MMULT(IF($B$2:$H$9="",0,$B$2:$H$9),{1000000;100000;10000;1000;100;10;1})),"0"),LEN(TEXT(SUM(MMULT(IF($B$2:$H$9="",0,$B$2:$H$9),{1000000;100000;10000;1000;100;10;1})),"0"))-8+COLUMN(B1),1),"")
の式を入力し、Ctr+Shift+Enterで確定。(←配列数式なので必須です)
確定後、B10:H10にフィルコピーしています。

質問者様の表(暗めなのではっきりと確認してはいませんが)に当てはめるには、セルの位置関係の調節が必要になりますが、内容的には同じ要領でできるものと思います。
「Excel セルをまたいで合計値を出した」の回答画像2
    • good
    • 1
この回答へのお礼

とてもわかりやすい回答をありがとうございます。
やはり面倒なことをしようとしていたみたいですね。
回答者様の配列数式を当てはめてみたいと思います。
とても分かりやすい図と式をありがとうございます。
助かりました。

お礼日時:2018/08/23 16:09

こういうのは、別セルで入力し計算などもして、それを各セルに振り分けて表示させる方がいいですよ。

    • good
    • 1
この回答へのお礼

回答ありがとうございます。

お礼日時:2018/08/23 12:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!