ベストアンサー この表の列合計を出すにはどんな式を書けばいい? 2011/11/22 09:50 (画像はGoogle Docsですが対象はoffice2003です) こんなデータがあり(実際はもっと複雑)、「4/1」かつ「A」の列の合計を出したいのですがどんな関数を組み合わせればいいでしょうか? 画像に入れ忘れましたが値が空のセルもあります。1行目は月ごとにセル結合しているのでsumproductだけではうまく行きませんでした。皆様ならどのような式を書きますか? 画像を拡大する みんなの回答 (5) 専門家の回答 質問者が選んだベストアンサー ベストアンサー chie65536(@chie65535) ベストアンサー率44% (8812/19983) 2011/11/22 10:24 回答No.2 単純に4/1のAクラスの合計を取るのではなくて、B11、B12に入れた値に対応した合計を出したい、って事かな? だとすると =SUM(INDIRECT(CHAR((B11=A1)*1+(B11=C1)*3+(B11=E1)*5+(B11=G1)*7+(B12="A")*0+(B12="B")*1+64)&"3:"&CHAR((B11=A1)*1+(B11=C1)*3+(B11=E1)*5+(B11=G1)*7+(B12="A")*0+(B12="B")*1+64)&"8")) って感じの式になります。 B11、B12の値に応じて「A2:A8」とか「B2:B8」とか「C2:C8」とかって文字列を作成し、その文字列をINDIRECT関数で「セル参照」に変換して、そのセル参照をSUM関数で合計しているだけです。 手抜きなので、列名は「A~Z」までしか対応していません。列名が「AA」以降になる場合は、もう一工夫が必要です。 質問者 お礼 2011/11/22 13:04 助かりました、ありがとうございました。皆様のものが参考になったのですが考え方がわかりやすかったのと早かったのでBAはこちらへ。 おかげさまで皆様の意見を合わせてやった結果、自分がわかりやすいものとして下の式ができました。 B13セルへ以下を入力 =sum(offset(indirect(address(3,match(B11,A1:J1,0),1)),0,IF(B12="A",0,1),6,1)) この式にまた評価をいただきたいところですが(^^; 早くに書き込んでいただいたchie65535さん「Indirect+Sum」の考え方が参考になりました。ありがとうございました。 いろいろなアプローチがあってとても勉強になりました。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 その他の回答 (4) keithin ベストアンサー率66% (5278/7941) 2011/11/22 11:01 回答No.5 簡単な方法: 今の表のA列に1列空列を挿入して表をB列からスタートしてI列までの配置にしておき C11に日付 C12にAorB があるとすると C13に =SUMPRODUCT((A1:H1+B1:I1=C11)*(B2:I2=C12)*B3:I8) メンドクサイ方法: 今の表の配置のままA列から表を配置 B11に日付 B12にAorB があるとすると B13に =SUMPRODUCT((SUBTOTAL(9,INDIRECT("R1C"&FLOOR(COLUMN(A1:H1)-1,2)+1,FALSE))=B11)*(A2:H2=B12)*A3:H8) 質問者 お礼 2011/11/22 13:06 こういったアプローチもあるんですね、なるほど。あとできちんと解読してみます。ありがとうございました。BAにできずすみません。勉強になります。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 KURUMITO ベストアンサー率42% (1835/4283) 2011/11/22 10:49 回答No.4 例えばB13セルには次の式を入力します。 =IF(COUNTIF(1:1,B11)=0,"",IF(B12="A",SUM(INDEX(A:XX,3,MATCH(B11,1:1,0)):INDEX(A:XX,8,MATCH(B11,1:1,0))),IF(B12="B",SUM(INDEX(A:XX,3,MATCH(B11,1:1,0)+1):INDEX(A:XX,8,MATCH(B11,1:1,0)+1)),""))) 質問者 お礼 2011/11/22 13:05 こういったアプローチがあるんですね。あとできちんと解読してみます。ありがとうございました。BAにできずすみません。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 mu2011 ベストアンサー率38% (1910/4994) 2011/11/22 10:47 回答No.3 一例です。 月日が結合セルされていては、列が確定できませんので結合を解除します。 結合解除が駄目な場合は読み捨て下さい。 (1)1行目を選択して結合を解除→選択されている状態でCtrl+Gキー押下→セルの選択→ 空白を選択→OK→数式バーに=先頭セル(仮に=A1)を入力→Ctrl+Enter (2)B13に=SUM(OFFSET($A$3,,SUMPRODUCT((A1:H1=B11)*(A2:H2=B12)*COLUMN(A1:H1))-1,6)) 数式のセル範囲やOFFSET関数の第4引数(行数)はご例示を対象にしていますので 調整して下さい。 質問者 お礼 2011/11/22 13:05 とても参考になる式でした。ありがとうございました。BAにできずすみません。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 白石 勇夫(@sunbravery) ベストアンサー率46% (179/385) 2011/11/22 10:14 回答No.1 単に合計だけでしたら =SUM(A3:B8,C3:C8,E3:E8,G3:G8) いかがでしょう。 質問者 お礼 2011/11/22 13:04 助かりました、ありがとうございました。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ パソコン・スマートフォンソフトウェアその他MS Office製品 関連するQ&A EXCEL 2003で条件に合った合計を求めたい ______A ____B____ C_____D 1___111___ 1 ___10___ 60 2___111___ 2 ___10 3___222___ 2 ___10 4___333___ 1 ___10 5___333___ 2 ___10 6___333___ 3 ___10 7___444___ 1 ___10 8___444___ 3 ___10 9___555___ 1 ___10 Excel 2003環境において、上記A1:C9を対象に関数で下記条件を元に数式をD1に入力して値を求めたいです。 条件: A列の同じ値のセルを一つのグループとし、かつその中で、B列で1から始まる連番となっているグループを対象にC列のセルを合計する。 上記のセル範囲で条件に合う行は1,2,4,5,6,9行目で答えは60になります。 SUMPRODUCT関数やIF関数を併用してみましたが、うまく作ることができませんでした。 なんとか作業列やVBAを用いずに一つの数式で済ませたいです。 よろしくお願いします。 BD2列の同じ行に値があればD列の数値を合計する BD2列に数値が入力されそれぞれの列の同じ行に数値が入力されていればD列セルの数値を合計しD8セルに入力したい(同じ数値でなくてよい)のですがどなたか関数が解るかたよろしくお願いします。Windows10office2013です。 Excel 範囲内で条件を満たす異なる列の合計 範囲内で条件を満たすセルで、異なる列の値を合計したい。 A1からA5に{10,20,30,40,50}という値が B1からB5に{0,1,2,3,4}という値が C1からC5に{5,6,7,8,9}入っている事とします。 A1:A5の範囲で複数の条件をつけます。 B列ではA列のセルの値が15<A<35となる、A2とA3と同じ行であるB2とB3の値 C列ではA列のセルの値が25<A<45となる、A3とA4と同じ行であるC3とC4の値 全部でB2,B3,C3,C4のセルの値を合計を返すセルを作成したい。 この場合目的のセルが返す値は1+2+7+8で18となる。 補助行を作ってでも構いませんので、このような加算が可能とするセルの作り方はないでしょうか。 Excel2000を使用しています。どうかよろしくお願いします。 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? OKWAVE コラム 《エクセル2000》A列・B列の商を合計する関数ってありますか? 皆様こんにちは。 SUMPRODUCTは2つの列の積を合計しますが、2つの列の商を合計する関数はあるでしょうか。 選択した行の値だけを合計 選択した行の値だけを、その行のどのセルをダブルクリックしても合計する方法を教えてください。 A列は、ID,B・C列は値があらかじめ入力されています。 D列に、合計を表示させたいです。 関数・VBAでは、一括して合計はでましたが、VBAで必要な行だけの合計の出し方がわかりません。 VBAの勉強のために活かしたいく、よろしくお願いします。 Excel 2列に対する検索条件について よろしくお願いいたします。 レイアウトとしてB2からG21の範囲で数字または空(何も入っていない)のセルがあります。 今回の計算式をA1に入れたいと思っています。 教えていただきたい計算式は この2行から21行の範囲のC列とE列において両方のセル内容が空だった場合の行番号のG列の値を合計した値をA1に取りだしたいのですができますでしょうか? 《エクセル2000》A列・B列の和を合計する関数ってありますか? 皆様こんにちは。 SUMPRODUCTは2つの列の積を合計しますが、2つの列の和を合計する関数はあるでしょうか? これがあると今の作業がすごく便利になるんですが…。 エクセル 表検索した合計の出し方について 既出でしたらすいません。 いろいろ検索していみたのですが見つかりませんでしたので、教えて下さい。というかできないのですかね? エクセル2007を使っているのですが、商品、単価、入り値を一覧の表にしてVLOOKUPでその一覧の番号から表検索して別の一覧を作れるようにしました。その新しい表の最後の行に単価と入り値の合計を出したいと思っています。ただ、その最後の行は一定ではなくどこになるかわかりません。(違う場所に合計用のセルを作るのではなくすでに関数がある場所に付け足したいのですが。。。) 以下がそのセルに入っている関数の例です。 =IF(I6="","",ROUNDDOWN(I6*F6+I6*IF(G6<10,G6/10,IF(G6<100,G6/100,G6/1000)),0)) I6にVLOOKUPで検索した単価が入るように関数を入れてあります。 F6、G6は数量を入力するようにしてあります。単価と数量の合計 この関数に付け加えるか、もしくは新しい関数でもいいので 「もし、A6に合計の文字列が入れば、I1~I5(合計の文字列が入る前のセル)までを足す」 というようなことができますでしょうか? EXEL2000 複数条件で集計を求める関数式 検索範囲のA列における検索条件が[A5001]セルと同じ値、B列が[B5001]セルと同じ値であるもののC列[C1:C5000]の合計は =SUMPRODUCT((A1:A5000=A5001)*(B1:B5000=B5001)*C1:C5001) では、検索範囲A列が検索条件が[A5001]セルと同じ値の文字列を含むもの、B列が[B5001]セルと同じ値であるもののC列[C1:C5000]の合計をする場合に (たとえば、リストの A列データの値は、青森リンゴ、長野リンゴ、和歌山ミカン等、 B列データの値は、大、中、小等、 C列データの値は、その売上高、 検索条件[A5001]セルの値が[リンゴ]、 [検索条件B5001]セルの値が[大]である場合に、 リンゴという文字列が含まれており且つ大であるものの売上合計金額を求める) =SUMPRODUCT((A1:A5000="*"&A5001&"*")*(B1:B5000=B5001)*C1:C5001) を試しましたがだめでした。 これとは別に、 =SUMPRODUCT(COUNTIF(A1:A5000,"*"&A5001&"*")/COUNTIF(A1:A5000,"*"&A5001&"*"))*(B1:B5000=B5001)*C1:C5001) も試しましたがだめでした(数日前にこちらで教えていただきまして、行数が10行程度の仮のリストで試しましたらうまくいきましたが、実際のリスト(5000行以上)では#VALUE!が返ります。リストは「値のみ貼付」で得られたデータのみが入っています) このリストで、5001行以降に検索条件が多数並んでいます。 EXEL2000で可能な関数式を教えて下さい。よろしくお願いします。 execlの列の合計(特殊) 特殊な列の合計を教えてください。 A 1文字 2数字 3文字 4数字 5文字 6数字 ・ ・ ・ 合計 Aの列の合計です。 条件は、文字列にある言葉(例えばXYZ)が入っていたらその一つ下のセルの数字を合計に足していきます。 文字は奇数の行、数字は偶数の行は規則的です。 例えばAの1に文字XYZがあればAの2の数字を合計の セルに足し込みます。更にAの5に文字XYZがあれば Aの6の数字を合計のセルに加算していきます。 よろしくお願いいたします。 数量×単価+数量×単価... 合計を出すどういう関数式になりますか? A B C D E F G H I 1 A4 A3 A2 A1 2 個数 単価 個数 単価 個数 単価 個数 単価 合計 3 5 8.9 1 17.8 6 10.5 ☆ 単価にはIF関数を使いその列ごとに個数が入力されると単価も自動的に表示されるように設定しています 1行目のA1とB2は結合されています。また他のセルも同様に結合されています A2に個数、B1に単価、C1に個数、D1に単価と交互に数値が入っています。 個数×単価の全ての合計を合計のセル☆に求めたいです。 またE列、F列には個数がないということで、ここには数値をいれたくなく、また「0」を入力しない状態でエラーが出ないようにしたいですその場合どんな関数式になりますか?本当はもっとセルに単価と数量が続いています。自分で考えるととても長い関数になってしまいます。 スマートな関数式と効率のいい関数式を探しています。どなたかよろしくお願いします。 エクセル 条件付きの合計を速くできないか エクセルで以下の処理を行うと、時間が5分以上かかり、 もう少し早くできる方法があるなら教えてください。 A列は01から最大99まで、B列はAから最大ZZまで、C列は000から最大999まで、D列はランダムな数字、E列は○か×か△のデータが入っています。 例えば、ある行は、 03 BC 000 654 ○ また、ある行は、 34 C 009 76598 × です。 そして求めたいのは、D列の合計です。 01でAで001から999のうち○の合計と×の合計と△の合計をそれぞれ求めたい。 同様に 01でBで001から999のうち○の合計と×の合計と△の合計をそれぞれ求めたい。 同じことを繰り返し、最後に 99でZZで001から999のうち○の合計と×の合計と△の合計をそれぞれ求めたい。 合計を求める関数は、SUMPRODUCT関数を使いました。 ヤバいパソコンが壊れたかも!?事前に知っておきたい3つの兆候と対策 OKWAVE コラム Excel 複数列を同じ条件で抽出・合計する方法 Excelの抽出・合計について教えてください。 配列を用いた方法などいろいろ検索しましたが式が長くなるので、 もう少しわかりやすくできないかと思っていろいろ探した結果、 ここに辿り着きました。 作業対象のSheetは次のとおりです。 ・行数はその月によって可変です。 ・A~L列まであると仮定します。これは固定です。 ・合計を求めたいのはL列の値となります。 抽出条件(AND条件) ・A~E列とI列が0(ゼロ) ・F~H列が0(ゼロ)でない、つまり数値が入っている 上述の条件をともに満たすデータのL列の数値の合計を求めたいと いうのが、今回の作業です。 現在はSUMPRODUCT関数を使って1列ずつ条件を設定しています。 しかし、式がたいへん長くなるので、もう少し簡略化したいです。 できればピボットテーブルやデータベース関数は余分な列を使うので 避けたいと思っています。 アドバイス、よろしくお願いいたします。 複数の条件での合計を出したいのです エクセルの関数を使い 条件セル E2の値 条件の検索範囲の列Dから抜き出し その行のG列-H列-I列(G列の空白の時の値)の合計を出したい つまり E2=2の時 D列 G列 H列 I列 1行 1 2 2 2行 2 3 1 1 3行 2 2 2 答えは 3-1-2-2 こんな事を実現したいのですが 頭がグルグルしてしまってます ご指南ください。 Excelで表のある日以前の値を合計する sumif? こんにちは。 ExcelでA列の1行目に2010/1/1から31行目に2010/1/31まで、日付が並んでいます。 B列の1行目に1から31行目に31まで、1ずつ増える数字が並んでいます。 セルC1に2010/1/10と入力した場合に、セルD1に55と返すような数式を書きたいと思っています。 要するに、セルC1から以前の日をA列で見つけて、同じ行のB列の値を合計したいのです。 sumifを使ってみましたが、うまくいきません。 ご指導、お願いいたします。 エクセル関数 1行抜かした列の合計 初心者です。 エクセルで表を作成しているのですが・・・ A1とA2は結合されています。 C2、D2、E2~ には点数を入力していきます。 B2に2行目の合計を出したいのですが、 その際、A1・A2の結合部分は抜かした合計を出したいのです。 C2からドラッグすればいいのかもしれませんが、 何列まで入力するか未定なので、 何か関数の入力の仕方があれば教えていただきたいです。 よろしくお願いします。 関数が入っている列で値のある最後のセルの値を返す お尋ねします。 関数が入っている列で式の値が入っている一番下のセルの値を調べるにはどうしたら良いでしょうか? 例 A列 1 5 2 10 3 13 4 (式の値が無いのでゼロ) B1セルにA3セルの13と言う値を返したいのですが、列に式(SUMPRODUCT関数)が入っていて、実際はA4セルのゼロが返ってきます。 またシート1~シート5 まで上記と同じ式が入っていて、シート1のA列の最後の値「13」をシート6のB1セルに値を返す場合、INDIRECT関数を使った場合、どういう式になるでしょうか? ご回答よろしくお願いします。 エクセル 合計条件が行と列の時の計算式 エクセルで、データがはいっている”データシート”と 合計を表示させたい”合計シート”があり、 合計シートに同じ番号の品名でおなじ日付のものを合計して 表示させたいと思っています。 データシートには、以下のように品名が同じものが複数はいっています A列 B列 C列 D列・・・・Z列これからさらにデータが増えていきます 1行目品名 4/1 4/4 4/5 2行目Z100 10 20 30 3行目Z300 40 50 60 4行目Z100 11 22 33 5行目Z200 70 80 90 ・ ・ 200行くらいデータがありこれからさらにデータが増えていきます。 合計シートもデータシートと同じような形で データシートのA列の 同じ番号&同じ日付 の数字をそれぞれセルB2からZ200まで合計した 数字を表示させたいです。 A列 B列 C列 D列・・・・Z列 1行目 4/1 4/4 4/5 2行目Z100 21 42 63 3行目Z300 40 50 60 4行目Z200 70 80 90 ・ ・ 200行目 合計シートのB2セルに入力したのですが、#VALUEエラーがでてしまい ました。 =SUMPRODUCT((データシート'!$A$2:$A$500=合計シート!$A2)*(データシート'!$B$1:$Z$1,合計シート!$B1)) SUMIFでも試してみたのですが、エラーがでてしましました。 説明が分かりにくく申し訳ないですが、どなたか分かる方いらしたら 教えてください。よろしくお願いします。 EXCEL 行と列を指定して、範囲指定する方法 EXCELの使い方を教えてください。 関数で試みているのですが、以下のような操作を行うことは可能でしょうか? (マクロ(VBA?)は使用したことがないため、抵抗があります。それでも、マクロを組むしかないというのであればその方法も教えてください。) 「表示シート」にて行と列を指定することで、 結合された5行×5列の表を表示させたいのです。 指定するセルも結合させており(「入力シート」)、 結合されたセル(行/列)を指定して、表示する範囲を決めてやりたいのです。 結合を解いて、たくさんの文字を指定する形にしてしまえば楽かもしれないのですが、この2文字だけで他にもたくさん処理させているため、 指定する文字はこの2文字のみで処理させたいです。 自分なりには、「表示シート」のD10セル(F10まで結合されている)に =INDEX(SUMPRODUCT((入力!B3:B27=表示!D4)*(入力!C2:Z2=表示!D3)),1,2) というような関数を組んでみたのですが、うまく表示されません。 なにか、うまく表示させる方法はあるのでしょうか? ちなみに、表内の犬など狐などは便宜的に書いているだけで、 数字が入るセルか、日付が入るセルか、文字列が入るセルかということだけが汲み取っていただければと思います。 入力するセルと表示させるセルの大きさも異なるようにしたいので、 良い方法があれば教えてください。 よろしくお願いいたします。 Excel文字列の結合に条件式を付けたい エクセルで複数セルの文字列を1つに結合する際、条件を満たすものだけを結合して表示することはできないでしょうか。 <添付画像の例> A2:E2のうち1行目に「1」が付いたものだけを結合させ、セルG2に「あうお」と表示させたい 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ パソコン・スマートフォン ソフトウェア Excel(エクセル)Word(ワード)PowerPoint(パワーポイント)Access(アクセス)その他MS Office製品オフィス系ソフトPhotoshop(フォトショップ)Illustrator(イラストレーター)その他Adobe製品画像・動画・音楽編集ホームページ作成ソフト筆まめ・はがき作成フリーウェア・フリーソフトその他(ソフトウェア) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
お礼
助かりました、ありがとうございました。皆様のものが参考になったのですが考え方がわかりやすかったのと早かったのでBAはこちらへ。 おかげさまで皆様の意見を合わせてやった結果、自分がわかりやすいものとして下の式ができました。 B13セルへ以下を入力 =sum(offset(indirect(address(3,match(B11,A1:J1,0),1)),0,IF(B12="A",0,1),6,1)) この式にまた評価をいただきたいところですが(^^; 早くに書き込んでいただいたchie65535さん「Indirect+Sum」の考え方が参考になりました。ありがとうございました。 いろいろなアプローチがあってとても勉強になりました。