『奇数列日付、偶数列数値の際、対象日付に対応する数のみ合算』(ふわまる)
以前にも、質問させていただきました。
有給取得管理簿でまた躓いておりまして、相談があります。
A1に日付「2024/5/1」 B1に数値「1」C1に日付「2024/5/25」D1に数字「0.5」 のように日付と数字が交互に入力され1た行があり、80列あります。
BB1のセルに基準日「2024/6/3」と入力があり、
BB1の基準日より前の日付の右横の数字を合算
したい場合の関数が考えてもわかりません。
教えていただければありがたいです。
< 使用 Excel:Excel2010、使用 OS:Windows10 >
偶数列の数値は、取った有給の日数ですか? だとすると最大でも2桁ですよね?
>80列あります。 CB列までだとして(途中に基準日?)
=SUMIFS(B1:CB1,A1:CA1,"<"&BB1,A1:CA1,">10000")
可能なら、1行目に日付、2行目を取得日数のように 行を分けることをお勧めします。 (かんたんレシピ) 2025/04/23(水) 13:43:43
>BB1の基準日 BB列は偶数列ですよね? 偶数列に日付が入っているんですか? (かんたんレシピ) 2025/04/23(水) 14:00:08
しかもBB1は80列の中にありますね…純粋に間違いました。
1/1〜12/31の有給取得状況を一覧にして管理したいです。
営業所|社員名|有給付与日|有給取得日|時間|有給取得日|時間|→以下計80列
東京|東京太郎| 2025/5/1| |2025/2/1 | 0.5|2025/4/2 |1.0 |→続く
営業所・社員名・有給付与日はすでに入力されていて、
毎月、出勤簿から有給取得日と時間を手入力で入力していきます。
有給付与日前の有給取得の合計時間と、有給付与日後の有給取得の合計時間を出したいです。
現時点で、かんたんレシピさんがご指摘いただいている、有給取得の日付と時間は2行にしていて、関数も
入れられているのでですが、営業所や名前はセルの結合をしている為に、フィルターで絞った時に、1行目の有給取得日を入力する欄しか表示されないので、横並びに時間を入力するようにしたほうが良いのかと思って、作り直そうかと思っているところです。
やはり同じ行に違う内容のデータは入れるべきではないでしょうか。
上手に関数が組めれば、1行でデータを管理できるので、良いかなと思いました。
何かご指摘ありましたら、いただけると助かります。
(ふわまる) 2025/04/23(水) 14:24:12
有給付与日が「基準日」なんですか? それはどのセルなんでしょう?
付与日がC2セル、それ以降のD2からCE2までが日付と時間のくり返しだとします。 最初に回答した式と同じなんですが、試されましたか?
=SUMIFS(E2:CE2,D2:CD2,"<"&C2,D2:CD2,">10000")
>有給付与日前 付与日は含みません。その前日までの合計です。 (かんたんレシピ) 2025/04/23(水) 15:02:12
有給付与日が基準日です。
試したところ上手くいきました。
申し訳ありません。提示いただいていた関数を見た時に、「>10000」がまったく理解できなくて
何か勘違いされたのかな?と思って試していませんでした。
試して上手くいったものの、なぜこの関数で上手くいくのか、Chat-GPTに聞いても理解できませんでした。
もし、お手数でなければ教えていただけますでしょうか。
あまりにも無知すぎて、教える気にならなければ、回答なしでかまいませんので…
ご回答ありがとうございました。
(ふわまる) 2025/04/23(水) 16:05:21
>=SUMIFS(E2:CE2,D2:CD2,"<"&C2,D2:CD2,">10000")
条件範囲 D2:CD2 合計範囲 E2:CE2 1列ずらすことによって、D2:CD2の値が条件を満たす時、 その右隣の数値(E2:CE2)を合計することができます。
ただし、D2:CD2は日付と時間のくり返しですから、 条件を日付に限定しなくてはいけません。 Excelの日付は、実際はシリアル値という整数だということはご存じでしょう。 「C2より小さい」だけではダメですね。時間との区別ができませんから。
時間というのは最大でどれくらいなのでしょう。せいぜい2桁ですよね。 10000(シリアル値なら1927/5/18)より大きいという条件を付けることによって、日付と時間を区別しています。 区別できれば何でもかまいません。 100より大きいでも、最近の日付なら40000(2009/7/6)より大きいでも。 ">10000" を ">2020/1/1"のように日付にしても同じです。
ちなみに偶数列、奇数列で区別する場合ですが 日付がD列からの偶数列なら =SUMPRODUCT(ISEVEN(COLUMN(D2:CD2))*(D2:CD2<C2),E2:CE2) でもいいかもしれませんね。 奇数列なら ISODDです。 (かんたんレシピ) 2025/04/23(水) 19:29:15
1行目は項目名で、日付の列には「有給取得日」と入力されているのなら、
=SUMIFS(E2:CE2,$D$1:$CD$1,"有給*",D2:CD2,"<"&C2)
でもいいかもしれません。 (かんたんレシピ) 2025/04/23(水) 20:41:49
シリアル値はかろうじて知っていましたが、まさかそれとはっ。
そしてこんなに関数の入れ方があるとは思いませんでした。
どれも私では辿り着けなかった関数です。
ありがとうございました!
(ふわまる) 2025/04/23(水) 23:51:24
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.