エクセルの関数による足し算の仕方



◇-?エクセルの関数による足し算の仕方-湯ちゃん5-PC初心者-10/02-02:51(146)-No.296325
 ┣?!Re:エクセルの関数による足し算...-白茶-10/02-08:52(140)-No.296348
 ┃┣?!~追記...-白茶-10/02-09:05(140)-No.296353
 ┃┃┗?!~~Re:ミスっちゃったです...-白茶-10/02-18:32(130)-No.296459
 ┃┗?!-Re:エクセルの関数による足し算...-湯ちゃん5-10/04-23:20(78)-No.297018
 ┗?!Re:エクセルの関数による足し算...-だるま-10/02-08:56(140)-No.296350
  ┗?!-Re:エクセルの関数による足し算...-湯ちゃん5-10/04-23:28(77)-No.297020

▲このページのトップに戻る
296325エクセルの関数による足し算の仕方湯ちゃん5-PC初心者 2005/10/02-02:51

メーカー名:DELL デル
OS名:WindowsXp Professional
パソコン名:Latitude D600
ソフト関連:日本語変換ソフトの詳細を記入 ソフトの使い方
使用回線:光
--
エクセルのワークシート上で,1ますに1つの数字を記入し足し算の練習問題を作
ります。そのときにifを使った条件分岐から繰り上げを処理しようとしたのですが,
うまくいきませんでした。どなたか良い方法を教えて下さい。
  49
+374
ーーー
 413
上記の例で詳しく説明すると,=IF(E7="","",IF(E6+E7>=10,E6+E7-10,E6+E7))で一の
位を処理し,=IF(D6+D7>=10,D6+D7-10,IF(E6+E7>=10,D6+D7+1,D6+D7))で十の位を処
理しようとしたのですが,うまくいきません。関数の使い方,また,もっと良い解決
方法がある方は教えて下さい。

*一ますに一文字としたのは位取りを表すためにセルの周りに罫線を入れたいため
です。


▲このページのトップに戻る
296348Re:エクセルの関数による足し算の仕方白茶 2005/10/02-08:52

記事番号296325へのコメント
湯ちゃん5-PC初心者さんは No.296325「エクセルの関数による足し算の仕方」で書きました。

ども。

「わたしならこうする」的な意見です。

A1="49"
A2="374"
A3=A1+A2

として、先に素直に計算結果を出しておいて、
この3セルの数字をそれぞれ1文字ずつ別セルに表示させる
という方法です。

一文字ずつ表示させる範囲はC1:F3とします。
(したがって、それぞれ4桁の数字までの場合です)

B2に「+」記号を入れておきます。

C1:F1を範囲選択した状態で(←これが肝心)
C1に=MID(REPT(" ",4-LEN(A1))&A1,COLUMN(A1:D1),1)
と入力し、
配列数式(確定時に「Ctrl」「Shift」「Enter」同時押し)にします。

C1:F1を3行目までフィルコピーすれば出来上がり。

この場合、C1:F3は配列として固定され、
数式の部分的な(1セルだけとか)変更・削除が不可になります。
ちょっとした保護効果が得られる訳です。

配列扱いにしたくなければ、
C1=MID(REPT(" ",4-LEN($A1))&$A1,COLUMN(A1),1)
で、普通にENTERして、F1までコピー。
C1:F1を3行目までフィルコピーすれば出来上がり。

なんて如何ですか?


▲このページのトップに戻る
296353追記白茶 2005/10/02-09:05

記事番号296348へのコメント
白茶さんは No.296348「Re:エクセルの関数による足し算の仕方」で書きました。

で、
「1文字ずつ入力しないと意味が無いんです」
ということなら、

(範囲がA1:D3の場合)

A2="+"

C1="4"
D1="9"

B2="3"
C2="7"
D2="4"

だとして、

B3=MOD((B1+B2)+INT((C1+C2)/10),10)
として、D3までフィルコピー。
(この場合、E1:E2は空白にする事)

という手もあります。


先のMID関数で1文字ずつ出す方法でも行けますね。

作業セルとして
A5=(A1&B1&C1&D1)+(A2&B2&C2&D2)
で、
A3=MID(REPT(" ",4-LEN($A$5))&$A$5,COLUMN(A1),1)
右へフィルコピー。
(A5の式をA3に入れてしまえば作業セルは必要なし)

▲このページのトップに戻る
296459Re:ミスっちゃったです白茶 2005/10/02-18:32

記事番号296353へのコメント
白茶さんは No.296353「追記」で書きました。

スマセン

大穴発見。前言撤回(一部)します。

>=MOD((B1+B2)+INT((C1+C2)/10),10)

この式、445+555=1000の計算が出来ませんでした。
やったら「900」になっちゃった。
そりゃそうか・・・


代案が思いつかなかったので、作業エリア使います。

B4=MOD((B1+B2)+INT((C1+C2)/10),10)
B3=RIGHT(B4,1)

B3:B4をD列までコピー。

ダメですかね・・・?


▲このページのトップに戻る
297018Re:エクセルの関数による足し算の仕方湯ちゃん5 2005/10/04-23:20

記事番号296348へのコメント
白茶さんは No.296348「Re:エクセルの関数による足し算の仕方」で書きました。
これから試してみようと思います。表示を工夫するとは思いつきませんでした。
このやり方を工夫して,2・30題の計算テストみたいな物を作ってみたいと思います。
有り難うございました。

▲このページのトップに戻る
296350Re:エクセルの関数による足し算の仕方だるま 2005/10/02-08:56

記事番号296325へのコメント
湯ちゃん5-PC初心者さんは No.296325「エクセルの関数による足し算の仕方」で書きました。

お疲れ様です。。

>=IF(D6+D7>=10,D6+D7-10,IF(E6+E7>=10,D6+D7+1,D6+D7))で十の位を処理しようとした

この計算式だとD6+D7=10以上の時、一の値の繰上げが含まれません
ちょっと一の位の繰上げと、十の位の計算を分けて計算しましょうか

=IF(D6+D7>=10,D6+D7-10,D6+D7)+IF(E6+E7>=10,1,0)

十の位が空欄になる条件は含めなくて良ければ、この式で良いかと。。

▲このページのトップに戻る
297020Re:エクセルの関数による足し算の仕方湯ちゃん5 2005/10/04-23:28

記事番号296350へのコメント
だるまさんは No.296350「Re:エクセルの関数による足し算の仕方」で書きました。
有り難うございました。いろいろな計算方法が工夫できるものだと感心しています。
だるまさんの式を見ただけでは理解できない(?)ので,これから試してみます。ありがとうございました。

A1.本ページは参考になりましたか? 又はアドバイスがありますか?
解決 参考になった 参考にならなかった アドバイスする

A2.何度目の訪問ですか?
初めて来た   数度目(2〜4) 5回以上来ている   管理人:

A3.何か一言どうぞ(アドレスは書くことができません)

A4.アドレスがあればどうぞ(1つまで)


↑↑↑↑よろしければ押してください↑↑↑↑

何か一言(本ページで参考になったならないを含めて残してあります)
◎:解決 ○:参考になった ×:参考にならなかった !:アドバイスあり

参考回数投稿日時何か一言