- 締切済み
小難しいかもしれない関数
SAKURAMYLOVEの回答
- SAKURAMYLOVE
- ベストアンサー率30% (162/533)
#3さんの回答に対して、koba_ponponさんの補足要求の説明がありませんでしたので、私の勉強のつもりで回答いたします。 一般に下記のような金額の合計を出す場合は、単価×数量で金額を出してそれをSUM関数などで合計します。 品目 単価 数量 金額 A 10 2 20 B 20 3 60 合計 80 それを金額を計算しないで一発で合計:Σ(単価×数量)を出すのが、SUMPRODUCT関数です。 似たような関数にSUMSQ、SUMX2MY2、SUMXMY2などがありますので、興味があればHELPなどで確認ください。 #2さんの回答は、これをうまく利用したのです。 式が煩雑なので以下のように考えてください。 「あ」=SUMPRODUCT(C1*((A1="あ")*(B1="い")*1/2+(B1<>"い")) すなわち、SUMPRODUCT関数は、これを1から3行まで計算して合計します(配列数式の考え方)。 順番に説明しますと、 A1="あ"ならTUREで1を返し、 "あ"でなければFALSEで0を返します。 B1="い"ならTUREで1を返し、 "い"でなければFALSEで0を返します。 (A1="あ")*(B1="い")の「*」はANDの意味なので、"あ"と"い"の条件がそろった場合のみ1を返します。 結果は以下のとおりです。 A B 結果 あ 0 い 0 あ い 1 よって1行目の(C1*(A1="あ")*(B1="い")*1/2は、 300*1*1*1/2=150 となります。 次の +(B1<>"い"の「+」は、ORの意味でC1*(A1="あ")*(B1="い")*1/2の条件もしくは、B1<>"い"の条件なら、ということです。 B1<>"い"は、B1="い"でなければ、TUREで1を返し、"い"であれば、FALSEであり0を返します。 A B 結果 あ 1 い 0 あ い 0 よって1行目は、300*0=0 したがって1行目の結果は、 300*1*1*1/2+300*0 =150+0 =150 同様に2行目、3行目もおなじ計算を行い、最後に合計されます。 「あ」は、 1行目 300*1*1*1/2 + 300*0=150 2行目 100*1*0*1/2 + 100*1=100 3行目 50*0*1*1/2 + 50*0=0 よって、「あ」は、150+100+0=250となります。 「い」も同様な考え方です。
関連するQ&A
- EXCEL SUMIF関数について
EXCELのSUMIF関数ですが、マニュアル通り使用すると 思ったとおりの計算ができません。 A B C 1 1 10 100 2 2 20 200 3 3 30 300 4 4 40 400 5 5 50 500 の様な5行×3列の表で A列が>3のもののB列C列の合計を求めたい場合 =sumif(A1:A5,">3",B1:C5) とすれば990という合計が欲しいのですが、やってみると 90にしかなりません。(B列しか合計されていない) どうなっているのでしょうか。
- ベストアンサー
- オフィス系ソフト
- ExcelのSUMIF関数で検索条件が複数あるとき
A="あ" もしくは、A="い" のときのBとCの合計を求めたいと思ってます。 SUMIF関数で計算できるのは分かったのですが、計算式が長くゴチャゴチャ しているので、もっとスマートに計算できる方法があれば、教えてください。 =SUMIF(A1:A5,"=あ",B1:B5)+SUMIF(A1:A5,"=あ",C1:C5)+SUMIF(A1:A5,"=い",B1:B5)+SUMIF(A1:A5,"=い",C1:C5) A B C 1 あ 500 80 2 い 300 50 3 え 800 40 4 い 200 80 5 う 100 60
- ベストアンサー
- オフィス系ソフト
- EXCEL 関数で教えてください。
部品Aの業者が数社、部品Bの業者が数社・・・(続きます) 年度ごと、部品ごと、業者ごとに数値を出したいです。(表1を作成したい) SUMIFでは出るのですが、部品点数がかなりあるため、数式を変更する手間がかかってしまいます。。 サンプル表で C12セルに =SUMIF($M$3:$M$9,$B12,C$3:C$9) C16セルに =SUMIF($N$3:$N$9,$B16,C$3:C$9) 入れています。 A列に部品Aがあったら2行目の部品AからB列の業者名を探して数値を入れて行きたいのですが 関数でできるでしょうか。。 よろしくお願いします。
- 締切済み
- Excel(エクセル)
- SUMPRODUCT関数について
SUMPRODUCT関数を使って「タテ100行ヨコ10列のデータの入った表」からA1*B1+A2*B2+A3*B3+……+A99*B99+A100*B100の計算と A1*C1+A2*C2+A3*C3+……A99*C99+A100*C100というように10列共計算しました。 さらに各々の掛け算の結果を小数点以下を切り捨てたいのでTRUNC関数を使おうと思いましたが上手くできません。 他の関数でも良いのですが良い知恵をお貸しください。
- ベストアンサー
- その他MS Office製品
- エクセルの集計(縦横での集計)
(sumproduct関数やsumif関数を使うのでしょうか?) 縦列はA~Cの範囲で今後も増えていきます。 横列は1~3の範囲で今後も増えていきます。 表(4行6列の表) 1 1 2 3 3 3 ------------------------------------------- A | 100 10 20 30 100 10 A | 100 10 20 30 100 10 B | 200 100 100 100 30 20 C | 300 200 50 200 10 30 結果 A1:220 A2: 40 A3:280 B1:300 B2:100 B3:150 C1:500 C2:50 C3:240 よろしくおねがいします。
- ベストアンサー
- その他(データベース)
- EXCEL関数について
A B C D E 1200 1500 1000 2500 =(A1*B1)/C1 1 ・ ・ ・ ・ ・ 2 ・ ・ ・ ・ ・ 20 =SUM(E1:E19) 上のように、E20セルに行ごとの計算結果の合計を出す式がありますが、行ごとの計算を一度に行う関数はないでしょうか?乗算だけでしたらSumproduct関数で出来ますが、除算が入った場合の関数が分かりません。ご教授を宜しくお願いします。
- ベストアンサー
- その他(ビジネス・キャリア)
- EXCEL SUMIF 関数の計算結果が倍数になってしまう
EXCEL SUMIF 関数の計算結果が倍数になってしまう EXCELのC列に下記数式を入れているのですが、計算結果がなぜか2倍された値が入ってしまいます。 色々と検索してみたのですが、よく分からず、皆様のお力をお貸し頂きたく。 =IF(A2=A3,"",SUMIF(A:A,A2,B:B))
- ベストアンサー
- オフィス系ソフト
- Excelで関数を別の関数に変える・・・
こんにちわ。 すでに組み込まれている関数を、別の関数に変えることって出来ますか? 1行目・・・=SUMIF(A会社.csv!S:Y,"積立",A会社.csv!X:X) 2行目・・・=SUMIF(B会社.csv!S:Y,"積立",B会社.csv!X:X) 3行目・・・ と、各行会社名が違うんです。 この関数 1行目・・・=IF(ISERROR(A会社.csv!A1),"",SUMIF(A会社.csv!S:S,"積立",A会社.csv!X:X)) 2行目・・・ と各行違う会社となるように、関数だけ変えたい場合の方法ってありますか? 教えてください。
- ベストアンサー
- 財務・会計・経理
- 関数を教えて下さい。
関数を教えて下さい。 何時もお世話になります。先日も色々と教えて頂きまして有難うございました。 又教えてもらいたいのですが宜しくお願いします。 相手が0の場合だけ計算しない方法を教えて下さい。 行1列Aに0行1列Bに100と入力します。式は行1列A-行1列B=行1列Cに100と計算しますが列Cに0と計算したいのです。計算方法教えて下さい。宜しくお願いします。
- 締切済み
- 教育問題
- Excelの関数を教えてください。
Excelの関数を教えてください。 A B C 1 * A 100 2 A 200 3 * B 300 4 * A 400 上記のような表があるとします。 「A列が*でなおかつB列が"A"の時Cを合計しなさい。」というような式を作りたいのですがどのようにしたらよいでしょうか?うえの表で言うとこの式で「500」という数字を表示したいのです。条件が1つの時は「SUMIF」関数でやったのですが条件が2つとなった時どうしたらよろしいでしょうか?
- 締切済み
- オフィス系ソフト