- ベストアンサー
個々のセルに入力した数字の合計を別のセルに一桁ずつ表示する方法
こんばんは。いつも大変お世話になります。 なかなか良い関数の使い方が思いつかず、また皆様のお知恵を貸していただければと思い、質問させて頂きます。 E1に「3」、F1に「5」、G1に「7」 今日の売上値とする H1に「9」、I1に「7」、J1に「5」 昨日の売上値とする ※ G1,J1は百の位 F1,I1は千の位 E1,H1は万の位です この合計値をA1(万の位)、B1(千の位)、C1(百の位)にそれぞれ出したいのです。 この場合だとA1に「13」、B1に「3」、C1に「2」となります。 上記のような事をしたいのですが、可能でしょうか? 申し訳ありませんが、何とぞよろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは 何通りか記載します 1案 一旦文字列にしてから計算 A1 =INT(((E1&F1&G1)+(H1&I1&J1))/100) B1 =INT(MOD(((E1&F1&G1)+(H1&I1&J1)),100)/10) C1 =MOD(((E1&F1&G1)+(H1&I1&J1)),10) 実際は入力エラーチェックの式を付加する必要があります。 2案 こちらは数値に忠実な処理 A1 =INT((SUM(E1,H1)*100+SUM(F1,I1)*10+SUM(G1,J1))/100) B1 =INT(MOD(SUM(E1,H1)*100+SUM(F1,I1)*10+SUM(G1,J1),100)/10) C1 =MOD(SUM(E1,H1)*100+SUM(F1,I1)*10+SUM(G1,J1),10) 3案 配列数式 A1 =INT(SUMPRODUCT(E1:J1*{1,0.1,0.01,1,0.1,0.01})) B1 =INT(MOD(SUMPRODUCT(E1:J1*{0,1,0.1,0,1,0.1}),10)) C1 =MOD(SUMPRODUCT(E1:J1*{0,0,1,0,0,1}),10)
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
説明が判りやすいように、一旦余分なせるD1を1つ使います。 D1セルに =(E1+H1)*100+(F1+I1)*10+G1+J1 と入れます。1332になります。 A1セルに=MID(D1,1,LEN(D1)-2)で13 B1セルに=MID(D1,LEN(D1)-1,1)で3 C1セルに=MID(D1,LEN(D1),1)で2となります あとD1の式をA1,B1,C1の式の中のD1の部分に置き変えると良いと思います。
お礼
回答頂きありがとうございました。 本当にこのサイトにくると、皆様のお知恵には敬服するばかりです。この方法も大変役立ちましたが、今回はNO.2さんの方法をとらせて頂きました。 朝の早い時間帯にご回答を頂きまして本当にありがとうございました。
- comv
- ベストアンサー率52% (322/612)
こんばんは #2 comv です もう一つ エラーチェックも含めた共通式を A1に =IF(COUNT($E1:$J1)=6,MID(TEXT(($E1&$F1&$G1)+($H1&$I1&$J1),"00!00!00"),(COLUMN(A1)-1)*2+1,2)*1,"") B1とC1に複写
- chi-kon
- ベストアンサー率43% (58/132)
ずいぶん面倒なことしてますね。。。 if関数と複数のセルを使えばできると思います。 ヒントは それぞれの位の足し算をしてみて10以上かどうかを表示して。。。。 ?疑問? A1のセルには2桁いれていいっていうところに統一感が感じられません。
お礼
ありがとうございました。皆様のおかげで無事解決することができました! おっしゃるとおり、面倒だったと思います。でも、提出用のファームが質問したとおりの形式だったので・・。でも、皆様のお力沿いによりバッチリです。 A1のセルはフォームでは万の位のセルまでしかなく、それに合計しても100万を超えることがまずないためでした。
お礼
ありがとうございました。 なんと3通りの方法を提示して頂きまして、大変参考になりました。今回は合計値も数値として扱うため「2案」の方法をとらせて頂きました。 また、上記のNo.3でも補足を頂いており、改めてお礼を申し上げます。本日中の提出であったので、本当に助かりました!