Excel計算式 条件によって計算範囲を変えたい

このQ&Aのポイント
  • Excelで条件に応じて計算範囲を変える方法について教えてください。
  • 4行目に特定の条件に応じた計算をしたいです。
  • 具体的な例として、「日」または「月」の場合とそれ以外の場合で計算方法を教えてください。
回答を見る
  • ベストアンサー

Excel計算式 条件によって計算範囲を変えたい

  A     B    C     D    E     F    G    H   ・・・  1 日    月    火    水    木    金    土    日   ・・・ 2 100              500         200         100  ・・・ 3 2000  5000   6000  7000   4000  3000   5000  3000 ・・・ 4 上記の表において、4行目に下記の計算をしたいです。 どのような計算式を組めば可能でしょうか? ・1行目が”日”または”月”→(3行目の数値)-(4列前までの2行目の合計) 例)H4=3000-(500+200+100)=2200 ・1行目が”日””月”以外→(3行目の数値)-(3列前までの2行目の合計) 例)G4=5000-(500+200)=4300 OR、IFなど組み合わせてみましたがうまくいきません。 回答よろしくお願いいたします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.6

3行目-(3列前まで)がデフォルトで,日月だけもう一つ余計に引き算するのでOKです。 H4に =H3-SUM(E2:H2)-IF(OR(H1={"日","月"}),D2) と記入し,左右のセルにコピーしておきます。

illy0206
質問者

お礼

ありがとうございます!! 無事にできました。 私の知っている関数のみででき、感動したので keithin様をベストアンサーにさせていただきます。 他の回答者様も、すべて試させていただき、 とても勉強になりました。 ありがとうございました。

その他の回答 (6)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.7

ANo.2です 特別な計算をするのは土日では無くて日月でしたね。失礼しました。 E4に入れるのは↓にしてください 曜日が文字列の場合 =E3-SUM(B2:E2)-(OR(E1="日",E1="月")*A2) 曜日がシリアル値の場合 =E3-SUM(B2:E2)-(WEEKDAY(E1)<3)*A2

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.5

ANo.2です。 もし1行目の曜日が実際には日付のシリアル値が入っていて書式で曜日を表示しているなら、E4には↓を入れて右にコピーしてください。 =E3-SUM(B2:E2)-(WEEKDAY(E1+1)<3)*A2

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.4

ANo.2です。 > A4:D4は、空欄でかまいませんのでよろしくお願いします。 では、E4セルに↓を入れて右にコピーでいかがでしょう =E3-SUM(B2:E2)-(OR(E1="日",E1="土")*A2)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

A4セルには次の式を入力して右横方向にオートフィルドラッグします。 =IF(A$3="","",IF(OR(A1="日",A1="月"),A3-SUM(OFFSET(A2,0,-MIN(COUNTA($A$1:A$1)-1,4)):OFFSET(A2,0,0)),A3-SUM(OFFSET(A2,0,-MIN(COUNTA($A$1:A$1)-1,3)):OFFSET(A2,0,0))))

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

補足願います。 A4:C4はどうするんですか? 3列前までの2行目の合計が出せませんよね?

illy0206
質問者

補足

すみませんでした! D4も4列前までの合計が出ないからダメですね。 (上記の表では日曜始まりですが、そうでない表も有りうるとして) A4:D4は、空欄でかまいませんのでよろしくお願いします。

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

G4=G3-SUM(OFFSET(G2,,IF(OR(G1="日",G1="月"),-4,-3),,IF(OR(G1="日",G1="月"),5,4))) H4=H3-SUM(OFFSET(H2,,IF(OR(H1="日",H1="月"),-4,-3),,IF(OR(H1="日",H1="月"),5,4)))

関連するQ&A

  • 週ごとの売上計算

    M列から右に向かって水・木・金・土・日・月・火・水・・・・ といったように曜日が並んでおり、その下にその日の売り上げが並んでいるのですが、 F列に1週目、G列に2週目、H列に3週目の週の合計額が入る式が作りたいのですが見当もつきません。どなたかわかる方いらっしゃらないでしょうか? 1週間は月曜始まりで考えています。

  • エクセル2010 列による条件付き書式

    宜しくお願いします。 ==================================================    1  2 3 4 5 6 7 8 9 10 11 12 13 14    月 火 水 木 金 土 日 月 火 水 木 金 土 日 予定 時間  ==================================================== 上記のような表があり、土曜と日曜の日付だけを黒塗りしたいです。 行であればデータのフィルタでできると思うのですが 列でフィルタをできるのでしょうか? 土日の部分だけ黒塗り(灰色の網掛け)、またはフィルタを掛けて 土日だけ表示させたいです。 簡単な方法があれば教えてください。 宜しくお願いします。

  • エクセルで値をクリア後に次の行から計算

    マクロを使わずに図のような計算式が作れないでしょうか。 IF関数やサブトータル関数など色々しましたが行き詰まってます。 列に「G]の文字が入力されれば(列は別にかえても可)それまでの合計がクリアされ その下の行の数値から又計算して合計欄に値が表示されるという 計算表を作りたいのです。 あまり関数は得意でないのでよろしくおねがいします。

  • エクセルの計算式

    エクセルの計算式でどこが間違っているか教えて下さい。 E7=P1010200(文字列) G7=180000(数値) H7に次の式を入力しました。 =IF(E7="P*",G7*0.1,0) 答えが18000になると思って入力をしたんですが0になってしまいます。なぜでしょうか。

  • エクセルの計算方法について

    B列にある数値とC列にある数値を掛けて行ごとに計算し合計していますが、面倒なので一括で合計を出す方法はないのでしょうか。 ファイルを添付しますので計算方法を教えてください。

  • エクセルで日付同日連続

    B列4行目以降 (同日が2行連続した日付)に、例えば月の初めを入力すると 下記のように同日が連続(ここでは2行分)させる方法はどのようにしたら よろしいでしょうか? 1,日付は月の初めから月末まで。 2,日付は週の初め(月曜日)から1週間分(次週の月曜日)。 3,2,の日付は不特定日(但し、月曜日から)です。  等々といろいろ条件が出来てしまいますが、 ここでは1,から3,を行いたいです。 B列4行目以降の日付 H23年9月1日(木) H23年9月1日(木)・・・・上行と同日 H23年9月2日(金) H23年9月2日(金) H23年9月3日(土) H23年9月3日(土) H23年9月4日(日) H23年9月4日(日) H23年9月5日(月) H23年9月5日(月) H23年9月6日(火) H23年9月6日(火) H23年9月7日(水) H23年9月8日(木) H23年9月8日(木)    ・    ・    ・ エクセル2000です。 3行分など自由行にしたい場合は、改めて質問させていただく方がよろしいいでしょうか? 初心者ですがよろしくお願いします。

  • VBA 計算の繰り返し

    VBAの初心者です。 ご指導お願いいたします。 G列とH列とJ列に入力されている数字をK列に合計が出るように計算式ができているのですが、 その計算式をVBAでK2からKの最後の行まで自動で入力してくれて なおかつ、K○にはG○+H○+J○の合計が入力されるように 計算式を変換する方法を教えてください。 ちなみに計算式は =VALUE(SUBSTITUTE(G2,"万",""))*10000+VALUE(SUBSTITUTE(H2,"円",""))+IF(J2="-",0,VALUE(SUBSTITUTE(J2,"円",""))) です。 ご指導お願いいたします。

  • エクセルの計算

    質問させていただきます。 Aの列に飛び飛びでランダムの日付があり、Bの列に曜日が縦に並んでいます。 A列の日付を入力したら曜日が自動で出るようにB列に以下を入れました。 =IF(A1<>"",MID("日月火水木金土",WEEKDAY(A1),1),"") このとき、土曜は青、日曜は赤と条件をつけました。 そしてC列に人数、D列に合計金額の欄があり、人数×単価をDに入れました。 このとき、条件として土曜日曜はプラス1,000円となります。 IFとORで対処し、一日の計算はどうにかできました。 1期間の合計(平日は平日の欄、土日は土日の欄)を下に入れるのですが、上記に書いたとおり、日付はカレンダーではなくランダムで入っているので、土日だけの計算は手作業で計算させています。 これを土日は土日、平日は平日で計算させる方法はありませんでしょうか? たとえば土か日と記入されているものだけを集めて計算させるとか。 説明に不足があればどんどんご指摘下さい。

  • EXCELで条件ごとに集計するには

    EXCELで帳簿をつけています。 A列に勘定科目コード(社内で使用している5桁の数値)が、B列に金額が入力されています。 (この帳簿は1年間使用するため、今後どんどん下に伸びていきます) 2枚目のシートに、勘定科目ごとの合計を出したいのですが、IF関数で算出することは可能でしょうか。 (例 A列に10000と入力された行のB列の合計金額、20000と入力された行のB列の合計金額・・・) 関数に詳しい方、お力を貸してください。

  • Excelカレンダーでのうるう年の処理

    よろしくお願いいたします。 A2以降に日付を固定で入力し、B2にそれに対応した曜日を表示させているのですが、 うるう年の処理に困っています。 例として、A1に2015/4/1と入れた場合、   列A 列B 行2 | 4/1 水 行3 | 4/2 木 行4 | 4/3 金 ~~~~~~~ 行335 | 2/27 土 行336 | 2/28 日 行337 | 2/29 月 行338 | 3/1 火 行339 | 3/2 水 のような形で表示されていたのを、A1に2014/4/1と入力した際には、   列A 列B 行2 | 4/1 火 行3 | 4/2 水 行4 | 4/3 木 ~~~~~~~ 行335 | 2/27 金 行336 | 2/28 土 行337 | 行338 | 3/1 日 行339 | 3/2 月 と表示されるようにしたいのです。 つまり、行の位置は変えずに、閏年で必要なときのみ2/29とその曜日が表示され、 必要ないときは、非表示にし、他の日付の曜日は自動的に変わるようにしたいです。 うまくやりたいことが伝えられていないような気がしますが、 どなたか教えて頂けないでしょうか。 よろしくお願いいたします。

専門家に質問してみよう