• ベストアンサー

INT関数で

初歩的な質問で申し訳ないのですが、 A1セル:1.5 A2セル:2.3 A3セル:3.6 とあったと仮定しまして、 A4セルに合計を出すのですが、普通にSUMで合計すると7.4となります。 今回の条件として整数にしなくてはなりません。 合計した値をINTで整数だけ抜くと7という解になりますが、 INTで抜き出した後合計すると6という解になります。 「INTで抜き出した整数の合計を求める」関数をA4セルにいれて処理したのですが、どうしたらいいのでしょうか。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • s_yoshi_6
  • ベストアンサー率73% (1113/1519)
回答No.5

A4に =SUM(INT(A1:A3)) と入力した後、CtrlキーとShiftキーを同時に押しながらEnterキーを押します。 (数式の両側に{  }が付きます) ちなみに{  }付きの数式は配列数式と言います。 参考 http://pc21.nikkeibp.co.jp/special/hr/hr1.shtml

JAMIE3104
質問者

お礼

こんな数式があったなんて初めて知りました。 これで解決できました。ありがとうございます。

その他の回答 (7)

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.8

基本はB列でB1=INT(A1)、B2=INT(A2)、B3=INT(A3)でB4=SUM(B1:B3)ですね。 一回だと#5の方のように配列数式にするか =SUMPRODUCT(INT(A1:A3)) とする方法です。 SUMPRODUCT自体は配列の積の和を求める関数ですが 複数条件のカウント(COUNTIF)や集計(SUMIF)にも使用できる便利な関数です。

JAMIE3104
質問者

お礼

確かに便利な関数ですね。 今までSUMでしか処理していなかったので、今度是非使ってみたいと思います。ありがとうございます。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.7

こんばんは。 よく質問の意味が分っていないのですが、こういうことでしょうか? =SUMPRODUCT(INT(A1:A3))

JAMIE3104
質問者

お礼

=SUMPRODUCT(INT(A1:A3))でもできました。ありがとうございます。

  • s___o
  • ベストアンサー率35% (108/306)
回答No.6

#2です。 私が読み違えてました。 >「INTで抜き出した整数の合計を求める」関数 素直に =INT(A1)+INT(A2)+INT(A3) とやるしかないですね。

  • colocolo62
  • ベストアンサー率32% (1162/3624)
回答No.4

A4セルに「=INT(A1)+INT(A2)+INT(A3)」で解決です。

  • bono223
  • ベストアンサー率31% (71/224)
回答No.3

個々に INTで整数にした数値を合計する以外にないように思います。 例えば、B1セルに INT(A1)、B2セルに INT(A2)、B3セルに INT(A3)と、Bの列に、それぞれ整数に変換する数式を入れて、B4セルで、合計値を出すという方法ではダメでしょうか?

JAMIE3104
質問者

補足

やはりその方法しかないでしょうか・・・ =SUM(INT(A1),INT(A2),INT(A3))では6という値になるのですが、 何分膨大な量なので・・・

  • s___o
  • ベストアンサー率35% (108/306)
回答No.2

>INTで抜き出した後合計すると6という解になります。 正しいと思いますが。。。 INTで抜き出すわけですから、 A1セル:1.5 ⇒ 1 A2セル:2.3 ⇒ 2 A3セル:3.6 ⇒ 3 となり、合計すると「6」になります。 合計した値を整数にするのであれば、 A4のセルには、「=INT(SUM(A1:A3))」と数式を入れれば「7」になりますが。

  • bob_n
  • ベストアンサー率35% (610/1732)
回答No.1

あまり詳しくないので、間違えていたらすみません。 0.5をたしてintをして、四捨五入をして丸めたらどうでしょうか?

関連するQ&A

  • EXCELのINT関数・ROUNDDOWN関数について

    情報処理の問題で関数を使うように指示されました。 「国税=分配金×0.07(整数未満切り捨て)地方税=分配金×0.03(整数未満切り捨て)」 私はINT関数を使い答えを出しましたが、回答はROUDDOWN関数を使っています。 整数未満切捨ての場合は、INT関数を使うのがいいと思うのですが、ROUDDOWN関数を使うほうがいいのでしょうか。

  • 合計値を求める関数

    #include<iostream> using namespace std; //sum関数の定義 int sum(int x, int y) { return x + y;  } int main() { int num1, num2, ans; cout << "1番目の整数を入力して下さい。\n"; cin >> num1; cout << "2番目の整数値を入力して下さい。\n"; cin >> num2; ans = sum(num1, num2); cout << "合計は" << ans << "です。\n"; return 0; }  ここのreturn x+y;の所の合計値を戻り値として返す処理の仕組みを解りやすく教えて欲しいです、戻り値はちょっと解りづらいです、よろしくお願いします。

  • EXCELの関数式(INT,MOD)で教えて下さい

    下図のようなEXCELの表があります。 金種計算で、1行目は1万円、5千円、千円・・・10円と入っており、 A2は計算したい金額(97810)を入れています。 B2セルの式=INT($A2/B1)、C2セルの式=INT(MOD($A2,B1)/C1)で、C2セルの式はD2~H2に複写しています。 EXCELで得た計算結果(2行目)は正しいと思うのですが、 D2,F2,H2の計算結果と、自分で計算した結果があいません。 ここを詳しく教えて頂けないでしょうか。 宜しくお願い致します! INT関数:整数部を返す MOD関数:剰余を返す  |  A  |  B |  C |  D |  E |  F |  G |  H | 1|   |10000| 5000| 1000| 500| 100|  50 |   10| 2|97810|   9|   1|   2|    1|   3|   0|   1| B2は、98710÷10000=9.7810→整数部を返すので「9」 C2は、97810÷10000=9.7810→剰余7810÷5000=1.562 →整数部を返すので「1」 D2は、97810÷5000=19.562→剰余562÷1000=0.562 →整数部を返すので「0」??? E2は、97810÷1000=97.810→剰余810÷500=1.62 →整数部を返すので「1」 F2は、97810÷500=195.62→剰余62÷100=0.62 →整数部を返すので「0」??? G2は、97810÷100=978.10→剰余10÷50=0.2 →整数部を返すので「0」 H2は、97810÷50=1956.2→剰余2÷10=0.2 →整数部を返すので「0」???

  • エクセル関数を教えて下さい。

    ROUND関数で除算して、小数点以下を四捨五入させたセル(ROUND(A1/1.05、1))を合計する際、ROUND関数で求めた画面上の整数の合計をさせる関数を教えて下さい。SUM関数を使用すると、除算した小数点以下の数字にて集計されます。

  • EXCEL SUM関数で合計が違う

    以前次のような質問がありました。 QNo.2266177 EXCEL SUM関数で合計値が違う場合 質問者:purepop 教えてください。 EXCELのSUM関数で合計値が違う場合があるのですが、 何が原因で起こるのでしょうか? また、どうすれば直るのでしょうか? ------------------------------------- 私も同じような現象が起こり,困ってしまい,教えてを調べましたが,上の質問には,解決に直接繋がる回答がありませんでした。 ただ,文字列セルは無視されるということです。 ところが,整数だけ入力されてセルが,どうも文字列と認識されているようなのです(セルの表示形式を小数第1位表示の数値にしても,コンマ以下が示されることなく,整数値のままでした)。 それらのセルの値は,他人からカット&ペーストでもらったものです。 数値は,上の入力エリアには,文字列「'3」ではなく,数値「3」と表示されています。 しかたなく,他のセルで当該セル*1をして,値のみ当該セルにコピーすると,小数第1次が0となる,「3.0」と表示でき,合計もただしくなりました。 質問は,このように,「'」がつかない文字列がはいてしまうのはどのようなときでしょうか。  これがわからないと,あぶなくてこまってしまいます。

  • 条件付のsum,max,min関数の書き方

    sum関数なので、合計欄のセルに ex.=SUM(B1:B6)などと書くときに、 a列が"1"の場合のみ合計欄のセルに加算したい場合は どうやって書けばいいでしょうか? __ A B 1 1 100 2 0 200 3 1 300 4 0 400 5 1 500 6 0 600 合計欄の値=900にしたいのですが.... もしも書き方があるのであれば、 MAX,MINの場合も同じでしょうか?

  • エクセルのSUM関数について

    SUM関数を使って合計を出す時、値に取り消し線を入れたセルを無視する(計算しない)ようにしたいのですが、どのような関数を使えばよいのか分かりません。教えてください。

  • 関数についての質問です。

    c言語を勉強しています。関数で戻り値がありますが、関数の処理の仕組みが理解できません。本等で勉強し僕の考え方が間違っていたら教えてください。 お願いいたします。 #include <stdio.h> int buy(int x,int y ) { int z; //1 printf("%d万円と%d万円の車を買いました。");//2 z=x+y; //3 return z; //4 } int main(void) { int num1,num2,num;//5 printf("いくらの車をかいますか?\n");//6 scanf("%d",&num1);//7 printf("いくらの車をかいますか?\n");//8 scanf("%d",&num2);//9 sum=buy(num1,num2);//10 printf("合計で%d万円です。\n",sum);//11 return 0;//12 } まず最初に 整数型、int num1,num2,numを読みます。 次に//7と//8で数値を入力します。 そして//10で値を格納し int buy( int x,int y)に値をわたします。 ※正確には関数buyに渡す。 そして計算をし計算結果 zをreturn で int buy(int x,int y )の buyに値を渡します。 そのあと呼び出し元の//10のbuyに値をかえします。 そしてプログラムが終了します。 間違っていたら教えてください。

  • Excel VBAの SUM関数について質問です。

    Excel VBAの SUM関数について質問です。 SUM関数で合計の値を出す場合、 SUM(A1:A5)という関数で合計を出しますが SUM(sheet2.cells(1,1),sheet2.cells(5,1)) と言ったようにCellsで指定はできないのでしょうか? 複数の列にVBAのプログラムで合計の値を出したいのです。 WorksheetFunction.SumではSUM(A1:A5)のように 自動計算にならないと思うので・・・

  • エクセルで

    エクセルについてお伺いします。例えばセルA1に10%、A2に20%のパーセンテージで入力された値は合計は出せないのでしょうか。SUM関数で出すとエラーが出てしまいます。それと、数式を入力したセルの数値の値の合計も出ないのでしょうか。例えばあるセルに=A1+B1,もう一方のセルにA2+B2と入力されていてそれぞれ数値が5と4とします。合計9を出したいのですが、数式のためSUM関数では合計できません。何か方法はありますか。

専門家に質問してみよう