2016-03-05 191 views
0

我需要爲冬季日程安排(10月1日至6月15日)自動設置8.45小時的工時值,並且爲夏季日程安排(6月16日至9月30日)在Microsoft Excel中完成時間表。Excel如何設置日期範圍內的給定值

我想要的公式如下:

=IF(AND(DATE($G$1,6, DAY(15))>=(DATE($G$1-1, 10, DAY(1))));(DATE($G$1,6, DAY(15))<A8;8.45;"") 

但這種不斷迴歸公式錯誤,這還忽略了夏季時間表的速度值。

  • $ G $ 1是年度時間表中手動輸入的年份。
  • A8是當前日期。

任何指導到這個等式將不勝感激。

與問候的Fab

編輯

感謝DirkReichel,斯科特·克拉納,亞歷克斯·貝爾,邁克爾·烏拉伊的大力介入。

我嘗試了所有的建議,但一些返回= VALUE錯誤和一些沒有從10月1日省略冬季時間表 - >

+2

我有點困惑...爲什麼你的'Date'使用'',但你的'If'與''分開?難道他們都不一樣嗎? –

+0

@DirkReichel很好。我完全錯過了。 –

回答

0

試試這個:

=IF(AND(DATE($G$1,6,15)>=A8,DATE($G$1-1,10, 1)<=A8),8.45,6) 
0

取決於區域設置,你可以使用逗號「,」而不是「;」,如下面的例子:

=IF(AND(NOW()>DATEVALUE("6/15/2016"), NOW()<DATEVALUE("9/1/2016")),6,8.45) 

希望這有助於。

+0

就我所知,使用';'而不是'''是一個區域設置 - 參見[here](http://superuser.com/q/509742/5308)例如 – barrowc

+0

@barrowc儘管應該明確說明;否則,這很可能是錯誤的原因。最好的問候, –

0

下列溶液應爲你工作:

A1是它獲取檢查,該公式被放置在B1的日期。 通過這種方式,您可以在工作表中下拉列表中的日期和公式。

=IF(AND(A1>DATE(YEAR(A1),6,15),A1<DATE(YEAR(A1),8,1)),6,8.45) 

它檢查數據是否在YYYY-06-15和YYYY-08-01的範圍內,並設置然後輸出至6,或如果它不是在該範圍內,以8.45

我用下面的公式測試了德語Excel版本,然後在記事本中手動翻譯了英文公式版本。

=WENN(UND(A1>DATUM(JAHR(A1);6;15);A1<DATUM(JAHR(A1);8;1));6;8,45) 

我希望我的公式轉換能在英文Excel版本中爲您工作。

+0

Ein Tipp von mir:du musst die Formel nichtübersetzen。 Öffneeinfach den VBA-Editor und gib im Direktfenster'?Selection.Formula' ein(währenddie Zelle mit der Formelausgewähltist)。所以bekommst du die englische Schreibweise als Ausgabe。 Geht auch andersrum:Zelleauswählenund'Selection.Formula =「= SUM(A1:B2)」and in der Zelle steht es dann in deutsch。 ;) –

+0

Dankefürden Tipp,das funktioniert super! (Die Formel habe ich demnach korrektübersetzt) –

0

這是正確的等式:

=IF(AND(DATE($G$1,9,30)>=A8,DATE($G$1,6,15)<=A8),6,8.45) 

方程式檢查當前日期是A8並檢查它是否落在withing夏季期間(日期範圍)。如果當前日期屬於夏季期間,則該值返回到6,如果當前日期不在夏季期間,則返回8.45的值。

感謝所有的指導。

相關問題