• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SUMIFS関数のOR条件をIF関数で切り替える)

SUMIFS関数のOR条件をIF関数で切り替える方法

Chiquilinの回答

  • Chiquilin
  • ベストアンサー率30% (94/306)
回答No.3

「=SUM(SUMIFS(……))」というやり方からしてスピルに対応していない バージョンであるとの想定で回答します。 まず配列定数の書き方が間違っています。 「"{S,A,B,C}"」ではただの文字列です。 →「{"S","A","C"}」 書いている数式をそのまま修正するなら =SUM(SUMIFS(B2:B7,A2:A7,IF(A1="S","S",IF(A1="S-A",{"S","A"},IF(A1="S-B",{"S","A","B"},IF(A1="S-C",{"S","A","B","C"},IF(A1="S-D",{"S","A","B","C","D"},{"S","A","B","C","D","E"}))))))) 長ったらしいのでまとめると =SUM(SUMIFS(B2:B7,A2:A7,CHOOSE(MATCH(A1,{"A","S-A","S-B","S-C","S-D","S-E"},0),"A",{"S","A"},{"S","A","B"},{"S","A","C"},{"S","A","B","C","D"},"*?"))) ただほんとうにこんなアプローチの仕方でいいのか疑問に思います。 PowerQueryでやったら何か問題があるんでしょうか。 あとこの条件だけなら =SUM(MMULT((A2:A7={"A","S","B","C","D","E"})*B2:B7,N({1;2;3;4;5;6}<=FIND(RIGHT(A1),"ASBCDE")))) こんな式でも一応結果は出ます。

関連するQ&A

  • sumifs関数について

    sumifsで合計を出したいのですが、集計されるセルとしないセルがあり困っています。    A    B    C    D   社名  役職  氏名  vlookupで引っ張ってきた値 1  a 役員   A        2  b    社員   B     3  c    社員   C D列にはそれぞれvlookupでひっぱてきた値が入っているます。 計 10  a   役員   =sumifs(D列,A列,A10,B列,B10) 大雑把な書き方で恐縮ですが、上記の計のように各社の役員、社員でD列の合計をそれぞれ出していきたいのですが、エラー表示ではなく 0 と集計結果で出ます。 きちんと集計結果が出ているセルと出ていないセルとで書式なども確認したのですが、相違点が見当たらず修正に行き詰りました。 どなたか、原因がわかる方がいましたらご教示下さい。 宜しくお願い致します。

  • エクセル IF関数が入った条件付き書式について

    エクセルにおいて、セルA1、B1、C1があるとします。A1、B1には数値が何も入力されていない状態で、C1に計算式「=SUM(A1)/B1」が入っているとします。このままでは、C1は、「#DIV/0!」と表示されます。 この表示を消すために、C1にIF、ISERROR関数を使い、「=IF(ISERROR(SUM(A1)/B1),"",SUM(A1)/B1)」の計算式を入力します。 このままでもいいのですが、C1の値が「10以上」になった時に、C1のセルに色を付けたいのです。 書式→条件付き書式→セルの値が→次の値以上→10 にすると、セルに何も値が入っていない(空白)状態で色だけが付いてしまいます。 色々調べると、IF関数の""の空白が文字列のため、数値より大きいとみなされている事が原因っていうことは、分かりましたが、色々試してみても出来ません。何かいい方法はございますでしょうか? ご教授お願いします。

  • IF関数について

    A4に=IF(SUM(A1:A3)=0,"",SUM(A1:A3))、 B4に=IF(SUM(A1:A3)=0,"",SUM(A1:A3))と式があり C4に=IF(AND(A4="",B4=""),"",B9-C9)と入力すると #VALUEが返ってしまいます。 A4,B4どちらかのセルが""の時でもB9-C9の引き算の値が返るようには出来ないでしょうか?

  • エクセルでIFとANDを使った関数について教えて下さい

    A B C D E F G 1 1 2 3 結果 2/3 2/4 2/5 2 2/3 2/4 2/5 合格 0 0 1 3 上記のような表を作成しようとしています。条件が、 D1が「合格」で、 C2の日付がE1(該当セル、E1なら2/3、F1なら2/4)と同じなら「1」、 違うなら「0」、 B2の日付がE1(該当セル、E1なら2/3、F1なら2/4)と同じで尚且つ、 C2が「空欄」なら「1」、違うなら「0」、 A2の日付がE1(該当セル、E1なら2/3、F1なら2/4)と同じで尚且つ、 C2が「空欄」で、B2が「空欄」なら「1」、違うなら「0」 を返しなさい。 という関数を作りたいのですが、上手くいきません。 IFとANDを使えばいいと思うのですが、どのように組み合わせれば 良いでしょうか。 真を返す、優先順位は、C2、B2、A2、のセルです。 C2に日付が入ってるときはB2とA2に日付が入っていても カウントされないように(偽が入るように)したいのです。 ちなみに、最初は、 =IF($D2="合格",IF($C2=E$1,1,IF($B2=E$1,1,IF($A2=E$1,1,0))),0) と、入れてましたが、これだと、C2に日付が入った時にC2だけカウント したいのに、B2もA2もカウントされてしまいます。 どうか、良きアドバイスをお願いします!!

  • 条件付書式でMIN関数によるセルの色が

    いつもお世話になります。 WIN7 EXCELL2010 です。 添付図では 「K列 L列」のみ 最小値のセルに色が付きません。 A列~E列は手入力です。 それぞれのセルには F6 =IF(B6="","",SUM($B$6:B6)/$M6) G6 =IF(OR(B6="",C6=0),"",SUM($C$6:C6)/$M6) H6 =IF(D6="","",SUM($D$6:D6)/$O6) I6 =IF(OR(D6="",E6=0),"",SUM($E$6:E6)/$O6) J6 =IF(A6="","",INT((DAY(A6)+WEEKDAY($A$6,1)+5)/7)) K6 =SUM(B6,D6) L6 =SUM(C6,E6) M6 =IF(B6="","",COUNT($B$6:$B6)) N6 =IF(OR(K6="",L6=0),"",SUM($K$6:K6)/Y6) O6 =IF(D6="","",COUNT($D$6:$D6)) Y6 =IF(OR(K6=0,L6=0),"",COUNT($K$6:$K6)) K列の条件付書式には =K6=MIN($K$6:$K$32) L列を除く他の列は列こそ違え同じです。 なぜか K L列のみうまくゆきません。 どこかに不具合があってうまくゆかないんでしょうか。 恐れ入りますが御指導願えませんか。 よろしくお願いします。

  • IF関数の複数条件

    D2のセルに計算式B2+C2が入力されているんですが、 E2のセルに●か▲のどちらか一つが入力されたときにD2のセルの式をB2*C2に切り替えたいです。 この場合のif関数の式を教えてください。

  • IF関数か他の関数で、5つの複数条件を設定したい

    IF関数をつかって、下記の条件で設定したいと思っています。 C5セルに 「=A5-B5」 という式を入れ、その際、C5セルに下記条件にあるような回答が出た場合、D5セルに、「ランクA」~「ランクE」のような表示が出るようにしたいのです。 初歩的かもしれませんが、どうかよろしくお願い致します。 (条件) +5以上 ⇒ 「ランクA」を表示させる  +2以上~+5未満 ⇒ 「ランクB」を表示させる  -2以上~+2未満 ⇒ 「ランクC」を表示させる  -5以上~-2未満 ⇒ 「ランクD」を表示させる  -5以下        ⇒ 「ランクE」を表示させる 

  • IF関数で結果を出したセルの集計

    お世話になります。 出社時間  退社時間   昼休    勤務時間 A1に9:00 B1に18:00  C1に1:00  D1に=IF(B1-A1-C1=0,"",B1-A1-C1) と下まで続いてD10セルでSUM関数で集計しようとすると合計値が明らかにおかしくなります。こちらで調べたところ「""」があるとSUM関数は使えない?と回答を見つけたのですが具体的な解決法が見つからず質問させて頂きました。書式設定を時刻にしている為、0にして非表示ができず、何かよい方法があればご教授下さいませ。 よろしくお願い致します。

  • IF関数の選択肢を増やす方法について

     例・・・A1セルに4、B4セルに3、C5セルに2が入力されると                                    D1セルに5が表示。      A1セルに3、B4セルに2、C5セルにAかBが入力されると                                    D1セルに6が表示。                         ・                         ・                         ・                        続く。 D1セルに、 =IF(AND(A1=4,B4=3,C5=2),5,IF(AND(A1=3,B4=2,OR(C5="A",C5="B")),6,・・・・  のような感じで増やしていたのですが、IFが7つで限界?のようなのですが、 何か方法はありますか?もしあれば教えてください・・・。 エクセル2003です。よろしくお願いします。

  • SUMIFSの検索条件で文字後ろの空白を無視

    =SUM(SUMIFS(A2:A800,B2:B8000,"東京",C2:C8000,{"*-200","*-200-*"},D2:D8000{"AB1","AC1","AD1"})) 以上の関数のC列のOR条件"*-200"によって、XXXXXX-200の行も集計したいのですが、200の後ろに空白があり、集計できませんでした。 (空白を手作業で削除したら集計できました。) データ表中には複数このような空白を含んだものがありますので、上記集計関数式で、空白を無視するような方法をご教授願います。