エクセルで期間を計算し。
2日以内の場合、期間×100
3日以上6日以下の場合、期間×200
7日以上9日以下の場合、期間×300
10日以上13日以下の場合、期間×400
14日以上20日以下の場合、期間×500
21日以上31日以下の場合、期間×600
1ヵ月以上2ヵ月以下なら、期間×700
2ヵ月以上3ヵ月以下なら、期間×800
上の条件もに基づいた、条件文を作りたいのですが、
IF文でひたすら、作っていくと、引数エラーになりました。
何か良い方法をご存じの方がおりましたら、
お知恵をお貸しいただければ幸いです。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
ちなみにどうしてもIF関数を使ってヤリタイご相談も実際は少なくありませんが,そういうときは
=IF(期間<=2,期間*100) + IF(AND(3<=期間,期間<=6),期間*200) + IF(AND(7<=期間,期間<=9),期間*300) + IF(AND(10<=期間,期間<=13),期間*400) + IF(AND(14<=期間,期間<=20),期間*500) + IF(AND(21<=期間,期間<=31),期間*600) + IF(AND(1<=DATEDIF(A1,B1,"M"),DATEDIF(A1,B1,"M")<=2),期間*700) + IF(AND(2<=DATEDIF(A1,B1,"M"),DATEDIF(A1,B1,"M")<=3),期間*700)
のように,カッコの中に重ねていくんじゃなくこうやって足し寄せていくと,随分沢山の条件で書き込む事もできます。
とまぁ,どうしてもIFを使いたい条件の重ね合わせでヤリタイ,ムズカシイ関数は考えるのも見るのもイヤだというご相談向けの回答でしたが,多分他の人がアドバイスを寄せてくれてると思いますがVLOOKUP関数やLOOKUP関数を利用した方が,間違えることもなく綺麗に計算できます。
添付図F2
=E2*VLOOKUP(E2,A:C,3)
No.4
- 回答日時:
こんにちは!
横からお邪魔します。
質問を読ませていただくと、日数による違いと月数による違いがありますよね?
当方の憶測ですが、31日という区切りの日数があるということは1か月以内とは31日以内と判断している訳ですよね?
(開始日を含めての日数です)
もしその場合、大の月・小の月を考えると
仮に4月1日から31日目は5月1日となってしまいます。
普通に考えると4月1日から30日目、すなわち4月30日が1か月以内という考えになると思いますので、
余計なお世話かもしれませんが、その1ヶ月の考え方から↓の画像のように表を二つ作成してみました。
実際は薄い緑色の列だけで良いのですが、判りやすくするために「未満」の列も表示しています。
画像のC2セルに
=IF(D2="","",IF(B2>=EDATE(A2,1),VLOOKUP(DATEDIF(A2,B2,"m"),$J$2:$L$3,3,1)*D2,VLOOKUP(D2,$F$2:$H$7,3,1)*D2))
D2セル(検証するために敢えて開始日~終了日まで何日あるか表示させています)に
=IF(COUNTBLANK(A2:B2),"",B2-A2+1)
という数式を入れ、C2・D2セルを範囲指定しD2セルのフィルハンドルで下へコピーすると
画像のような感じになります。
尚、EDATE関数を使用するにあたって当方使用のExcel2003以前のバージョンでは
メニュー → ツール → アドイン → 「分析ツール」にチェックを入れておく必要があります。
以上、長々と書いてしまいましたが余計なお世話ならごめんなさいね。m(__)m
No.3
- 回答日時:
このように条件が連続して細かく分かれている場合にはIF関数を考えるよりも、別に表を用意してVLOOKUP関数を使うことがおすすめです。
別の表を例えばE列とF列に作るとして、E1セルに0、F1セルに100、E2セルに3、F2セルに200、E3セルに7、F3セルに300、E4セルに10、F4セルに400、E5セルに14、F5セルに500、E6セルに21、F6セルに600、E7せるに31、F7セルに700、E8セルに62、F8セルに800のように入力します。
そこでA1セルに最初の日付、B1セルに終わりの日付があるとして、最初の日は期間に含めないとしたら次のような式になりますね。
=(B1-A1)*VLOOKUP(B1-A1,E:F,2,TRUE)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 労働相談 フレックスタイム制(清算期間1ヶ月)の場合、1日あたりの残業時間の上限はないという認識でOKですか? 4 2023/02/26 16:51
- Windows 10 Windows10 ファイル名と期間でファイルを検索するにはどうすればいいか 3 2023/06/07 14:01
- 厚生年金 2022年10月から、パート・アルバイト短時間労働者の厚生年金・社会保険の加入義務 2 2022/09/09 22:52
- 雇用保険 雇用保険を受ける際に、 給付制限中はアルバイトをしたいと思っています。 週20時間未満と31日以上の 2 2022/09/10 00:48
- Excel(エクセル) エクセルの複数条件作成方法について 2 2023/01/23 21:38
- その他(ビジネススキル・経営ノウハウ) 貸付金 利息、無利息 回答お願いします。 会社経営者です。 例えば、 従業員に40万貸付 返済期間 7 2023/01/22 09:32
- Visual Basic(VBA) tatsumaru77様 昨日回答して頂いたものです。 すみませんが、昨日の質問で1つ補足があります 1 2022/05/15 15:06
- その他(法律) 飲酒、喫煙は20歳からですよね? しかし、民法 143条では、 週、月又は年によって期間を定めたとき 4 2022/09/18 16:40
- アルバイト・パート 子を持つパートの働き方で迷っています 2 2023/01/21 11:03
- 雇用保険 一般の離職者が失業手当を受けられる条件は、離職日以前の2年間で、12カ月以上の雇用保険への加入期間が 2 2023/08/16 18:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
英数字のみ全角から半角に変換
-
【Microsoft Forms】回答を削除...
-
会社PCのメールが更新されない
-
マイクロソフト 一時使用コード...
-
Outlook で宛先が複数の場合の人数
-
【スプレッドシート】指定の日...
-
Microsoft Formsの「個人情報や...
-
Microsoft Edgeの「ニュースと...
-
VLOOKUP関数について
-
【Excel VBA】PDFを作成して,...
-
エクセルでXLOOKUP関数...
-
outlookのメールが固まってしま...
-
teams設定教えて下さい。 ①ビデ...
-
Microsoft365で写真をアルバム...
-
Microsoft Officeに似たキング...
-
会社におけるOfficeライセンス...
-
【スプレッドシート】白色のセ...
-
Excel VBA 日程表からスケジュ...
-
VBAファイルの保存先について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
マイクロソフト 一時使用コード...
-
英数字のみ全角から半角に変換
-
Office2021を別のPCにインスト...
-
Microsoft Formsの「個人情報や...
-
officeビジネス型のワードやエ...
-
会社PCのメールが更新されない
-
【スプレッドシート】指定の日...
-
Microsoft Officeを2台目のPCに...
-
何このステータスバー
-
2つのシートの一致する行のセ...
-
会社のTeamsのことで相談です。...
-
エクセルにリンクされるのをし...
-
Windows 11で、IME言語バー(IM...
-
office2010とoffice365の共存で...
-
Microsoftのパソコンです。 エ...
-
エクセルでXLOOKUP関数...
-
Excel関数について質問ですm(__)m
-
VBA
-
自分の専門分野の仕事。初見で...
おすすめ情報