エクセル関数の質問

このQ&Aのポイント
  • エクセル関数を使用して、設定用シートと入力用シートの連動を実現したい。
  • 設定用シートのA列に入力された動作内容に対応した動作時間を取得し、入力用シートの合計セルに表示する方法を教えてください。
  • また、入力用シートの動作内容に特定の条件が含まれている場合、設定用シートの別の列を参照する方法も知りたいです。
回答を見る
  • ベストアンサー

エクセル関数の質問

いつも回答して頂きありがとうございます。 設定用シートの A列 動作内容が入力されている 例)a b c d e... B列 A列の動作内容に対応した動作時間が入力されている 例)0:250:00 0:60:00 ... ※セルの書式設定で分で表示 C列 A列の動作内容に対応した動作時間が入力されている 例)0:250:00 0:60:00 ※セルの書式設定で分で表示 入力用シートのA列に動作内容を入力するとB6に動作内容に応じた動作時間の合計(設定用シートのB列を参照)が表示されるようにしたいと前回質問させて頂きましたが、この時、入力用シートのA列にaが含まれていた場合、設定用シートのC列を参照し合計をだす方法はあるのでしょうか?御教授お願い致します。

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

  • ベストアンサー
回答No.3

なんとなくわかりましたが、 >>A列 動作内容が入力されている 例)a b c d e... のような書き方では 一つのセルに入っているのか、一つずつのセルに入っているのかわかりません。 =IF(論理式,真の場合,偽の場合) 「論理式」を先に計算し、真なら「真の場合」のみを計算するので、「偽の場合」に何を書いてもかまいません。 よって、提示された形式でも問題ないと思います E6セルに =SUM(SUMIF($A$2:$A$5,E2:E4,IF(ISNA(MATCH("a",E2:E5,0)),$B$2:$B$5,$C$2:$C$5))) [Ctrl]+[Shft] +[Enter] で確定、配列数式。{ }で挟まれる または =SUMPRODUCT(SUMIF($A$2:$A$5,E2:E4,IF(ISNA(MATCH("a",E2:E5,0)),$B$2:$B$5,$C$2:$C$5))) [Enter] で確定 =SUMIF(範囲,検索条件,合計範囲) 検索条件が複数あるので配列として認識させる必要があります。ヘルプを超えたのテクニックを使っています。 ISNA(MATCH("a",E2:E5,0)) "a"が見つからなかったらTRUE(真)を返す 見つかったらFALSE(偽)を返す ご提示された数式では =COUNTIF(範囲,検索条件) で"a"の数を数えて判断させることで有無を判断しています #画像添付は質問を立ち上げたときにのみできます

kero1192kero
質問者

お礼

あまり分からない私の為に、丁寧に解説までして頂いてありがとうございました。とてもシンプルで分かり易かったです。貴重な時間をこの質問の為に割いて頂きとても感謝しています。

その他の回答 (2)

回答No.2

例を3個以上は提示されると、質問が伝わりやすくなります。 図も添付できるので、参考図として使うことによりもっと伝わりやすくなると思います。 以下、意図している内容になっているか、確認ください F2セルに =IF(SUBSTITUTE(E2,"a","")=E2,"a含まず",VLOOKUP("a",A:C,3,FALSE)) 下へオートフィル 範囲のいちばん左で"a"を下方向に検索し、見つかったところで範囲の3列目 F2セルに =IF(SUBSTITUTE(E2,"a","")=E2,"a含まず",SUMIF($A$2:$A$5,"a",$C$2:$C$5)) 下へオートフィル A列でaと一致するところでC列の集計 設定シートにおいて、A列に"a"が複数ある場合に動作が異なる

kero1192kero
質問者

お礼

画像の添付方法がいまいち分からないので、いつも文字で説明しています。図を見る限り、自分の思った内容ではないです。こちらの質問の仕方が悪かったんですね。すみません。 図の入力の列に a b c d と入力していきます 仮に a b d の時は 設定1の時間を参照し、a b d の合計を算出する。 b c d の時は 設定2の時間を参照し、b c d の合計を算出する。 という感じです。 で、ネットで調べてみた所、 CountIFが使えるっぽいので、使用して作成してみました。 =IF(COUNTIF(A:A,"上"),SUMPRODUCT(SUMIF(設定!A:A,A2:A100,設定!B:B))+SUM(設定!B1,設定!B5:B7),SUMPRODUCT(SUMIF(設定!A:A,A2:A100,設定!C:C))+SUM(設定!C1,設定!C5:C7)) ※SUMPRODUCTの式はここで教えて頂いたものです。 他に短くできる方法はありませんか?

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.1

> 入力用シートのA列にaが含まれていた場合、 > 設定用シートのC列を参照し合計をだす方法はあるのでしょうか? と、ありますが、これは ・A列に一カ所でも"a"が有ったら合計 ・A列の"a"を含むセルだけを合計 どちらでしょうか? 前者であれば、IF関数とFIND関数やSEARCH関数を組み合わせると出来そうです。 後者であれば、SUMIF関数やSUMPRODUCT関数などが使えそうです。 どちらにしても「作業列」を作るとわかりやすくなりそうですね。

kero1192kero
質問者

お礼

質問って難しいですね。 入力シートのA列に A1セル a A2セル b A3セル c みたいな感じに入力しています。 この a があった場合、C列の動作時間を選択するみたいな感じです。    a がなかった場合、B列の動作時間を選択します。 で、ネットで調べてみた所、 CountIFが使えるっぽいので、使用して作成してみました。 =IF(COUNTIF(A:A,"上"),SUMPRODUCT(SUMIF(設定!A:A,A2:A100,設定!B:B))+SUM(設定!B1,設定!B5:B7),SUMPRODUCT(SUMIF(設定!A:A,A2:A100,設定!C:C))+SUM(設定!C1,設定!C5:C7)) ※SUMPRODUCTの式はここで教えて頂いたものです。 他に短くできる方法はありませんか?

関連するQ&A

  • エクセル関数の質問

    よろしくおねがいします。 以下のようなA列B列に数字が何行もあるのですが、 A列の数字(時間なのですが)を二つを別シートに記入すると A列の二つ分の期間を参照してB列の数字の合計や個数を計算したいのですが、 VLOOKでは期間分の値を計算できないので 何かいい方法はないでしょうか? A        B 1000      1 2000     -5 3000      8 4000      1 5000      3 6000      5 7000     -3 8000      2 9000      3 別シートにA列の数字を下記の例のよう二つに入力すると A列の期間を参照してB列の値を計算して B列に全合計 C列に+の合計 D列に-の合計 E列に+の個数 F列に-の個数 を表示させる。 <例1> A   B(全合計) C(+の合計) D(-の合計) E(+の個数) F(-の個数) 1000 5000  8        13        -5         4        1 <例2> A   B(全合計) C(+の合計) D(-の合計) E(+の個数) F(-の個数) 6000 9000  7        10        -3         3        1 のような感じで計算したいのですが わかりづらくてすいませんが、分かる方がいたらご教示お願います。

  • エクセル 数式について

    皆さんこんにちわ。 現在エクセルで計算式を作らせようとしているのですが、 わからない事があったので質問させて下さい。 メインシート(シート1) A1セルに入力欄(数値記入)  B1セルにA1セルから出した結果  C1セルには別シートの対応した列の数値÷B1セルに入力した数値 別シート内容(シート2) A1 1 B1 20000 A2 2 B2 40000 A3 3 B3 60000 例で書くと シート1のA1セルに2 シート1のB1セルに2000  と書いてるとして シート1のC1セルには   「A1には2と入っているのでシート2の2って表示されている列のB2セルの40000÷B1セルの2000」の答えを表示させたいです。 ここでわからないのが別シートからの参照方法とその列の入力した数字の列のBセルの参照 方法です。(その行で2と言う数値がある列の別セルを参照させる) 少しわかりずらいのですが、上記に書いた事のやり方 どんな風にしたらいいのか、詳しい方ご助言下さいm(__)m

  • エクセル 関数の質問

    いうも回答して頂きありがとうございます。 入力用シートの A1セルに a又は b又は c ・・・ と入力 A2セルに a又は b又は c ・・・ と入力 A3セルに a又は b又は c ・・・ と入力 みたいな感じに入力されていたとします。 で、他の設定用シートの B1セルに a に対応した時間が入力 B2セルに b に対応した時間が入力 B3セルに c に対応した時間が入力 上記の時 入力用シートのC1にA1~A?までの時間の合計を出したいのですが どのような関数を使えばよろしいのでしょうか? 御指導の程、宜しくお願い致します。

  • エクセル

    エクセルのシート参照の書き方について 例:    A1      B2  1  100    =‘sheet100‘!C2  2  150    =‘sheet150‘!C2  3  200    =‘sheet200‘!C2  4  250       · · n  10000  =‘sheet10000‘!C2 ここでドラックすると、列B2に同じ書式が入ります。 B2列にそういう関数を入力すれば、ドラックして、 指定した参照ができるのかを教えていただけますでしょうか? よろしくお願いいたします。

  • エクセルの関数、お願いします<(_ _)>

    ちょっと長くなりますが宜しくお願いします。 Aのシート C列には「機種」、D列には「ライン」、E列には「色」、F列には「寸法」、G列には「本数」、I列には「経費」をそれぞれ入力します。 「機種」はAかBのどちらか、「ライン」は1~4までのどれか一つを、「色」は1~12までのどれか一つを、「寸法」は2000か3000のどちらか、「本数」は該当数を、「経費」も該当数をそれぞれ入力します。 Bのシート E4のセルに、Aのシートで「機種」にA、「ライン」に1、「色」に1、「寸法」に2000とそれぞれ入力したときの経費が合計されるように表示したいのです。 どのような関数を入れると良いのでしょうか? ちなみにE5のセルには、「機種」にA、「ライン」に2、「色」に1、「寸法」に2000とそれぞれ入力したときの経費が合計されるように表示したいです。 よろしくお願いします。

  • EXCELの関数?について

    セルA1の値と等しい値がB列のセルにあり,セルA2にA1と等しいB列のセルと同じ行にあるC列の値を表示させたいのですが可能でしょうか? わかりにくい説明で申し訳有りませんが・・ 例:下記の場合 A1の内容とB3の内容が等しいため,A2にC3の内容”Z”を表示させたいのですが,A2はどのように設定すればいいのでしょう?  |  A  |  B  |  C  | ---------------------- 1| AAA | AA  |  X  | 2|     | A   |  Y  | 3|     | AAA |  Z  | 4|     |     |     |

  • エクセルにおける複数条件の関数について

    下記の内容を別シートに集計したいのですが、 関数が間違えているのかうまく数値が表示されません。 Aシートに以下の情報が入っています。 Cの列、C5からC54までの範囲に1から100の間で数字が入っています。 Dの列、D5からD54までの範囲に2013/6/1から2013/7/15までの日付が入っています。 例:C5に2と入っていて、D5に2016/6/3と入力されていれば該当し、 C5の2という値を別シートにその他のC列とあわせて合計を表示されるようにしたいです。 表示をさせたいBシートには、 D列のD5からD54範囲内の6月分(2014/6/1から2014/6/30まで)で、 C列に入力されている数値の合計を1つのセルに表示させたいです。 この場合の関数をお伺いしたい内容になります。 今、うまくいかない関数は、以下のような内容です。 =SUMPRODUCT(('201406'!$C$5:$C$54="○")*('201406'!$BW$5:$BW$54>="2014/6/1"*1)*('201406'!$BW$5:$BW$54<"2014/7/1"*1)) これだと、C列に○が入っていれば、その合計を表示できると思いますが、 1や5などの数字の合計を表示させるには・・で、困っています。 アドバイスいただけたらと思います。 ※関数をそのまま入力いたいと思っていますので、 返信は、関数でアドバイスいただけたら幸いです。 宜しくお願い致します。

  • エクセル関数で、ご教示下さい

    例として、セルA1~A10に、1.2.3.・・・・10と番号を入れて       セルB1~B10には、商品の在庫数が入力されているとします。 この時、セルC1に集計の開始番号 セルC2に集計の終了番号を入力すれば、      D1に開始番号から終了番号までのB列の合計を表示させたいのですが、      このような集計ができるD1に入れる関数はあるでしょうか。 例えば、B列の3行目から6行目までの合計をD1に表示させたい場合に      C1にA列番号の3を入力、C2には6を入力すれば、D1にB3からB6の合計を      表示してくれる、といった関数です。      開始番号、終了番号は、何番~何番までと、その都度変わります。 どなたか、よろしく、お願いいたします。         

  • Excelでこのようなときはどんな関数にすればよいでしょうか

    同じブック内で以下のような2シートがあるときに、 (シートA)    A   B    C    1  あい  123  りんご 2  うえ  456  みかん   3  おか  789  イチゴ (シートB)    A   B    C    1  あい  123  めろん 2  えお  456  みかん   3  おか  789  イチゴ 横に並んだ3項目が同じものにだけ、(シートB)のセルに色を付けたいのです。 (上記の例だと、3行目が3項目とも一致しているということです) 色は横3つのセルにつけられなければ、A列のセルだけでも構いません。 (上記の場合、色をつけたいのはシートB「おか」のセル) 列を増やすなど、処理用のデータが必要でも非表示にすればいいので その点は構いません。 関数や条件付書式などで、なんとかなりますでしょうか?

  • EXCELの関数について教えてください。

    EXCELの関数について教えてください。 A列のセルに「18:00 」or 「18:30」 or「19:00」 or「19:30」と入力するとB列のセルに「8:00」と表示され、「17:30」と入力すると「7:00」と表示される方法を教えてください。 セルの書式の表示形式は「文字列」ではなく「時刻」に設定したいです。 多分IF関数をつかうを使うのではないかと思うのですが、書式が「時刻」のためかうまくいきません。 よろしくお願いします。

専門家に質問してみよう