2015-12-06 100 views
0

本公式中涉及的數據中的兩列是「Carrier」,另一列是「OriginalEffectiveDate」。第二列包含兩年期間的一系列日期。我需要展示兩年的運營商數量。Excel - 將公式中的文本範圍轉換爲日期

因此,如果日期範圍是2014年1月1日至2015年7月12日,那麼我只希望在2014年到2014年7月12日之間統計運營商。換句話說,如果我將2014年的全部數據與2015年的全部數據進行比較,那麼我的數字就會被忽略。

結果會是這樣的:

2014 = 343 (Jan 1 - July 12, 2014) 
2015 = 375 (Jan 1 - July 12, 2015) 

當我設置的文件了原來我用是靜態的數據和日期是數字字段。當我拿到相同的文件並直接連接到數據庫時,日期現在以文本形式出現,我無法獲得相同的公式來工作。

在此先感謝您的幫助。

=COUNTIFS(tbl_Group[Carrier],A5,tbl_Group[OriginalEffectiveDate],"<="&EDATE(MAX(tbl_Group[OriginalEffectiveDate]),-12)) 

照片:

enter image description here

+0

你能發佈鏈接到您的數據的照片? –

+0

如果可以將文本字符串解析爲一個文本字符串,是否使用了= VALUE(「text string」)?也許這會有所幫助? – KiwiSteve

+0

https://www.dropbox.com/s/602bnkv25x3v7je/Capture.PNG?dl=0 – JordanCA57

回答

1

你能計算的列添加到您的桌子嗎?

如果是的話,試試這個:用配方添加一個名爲CalculatedDate=DATEVALUE([@OriginalEffectiveDate])

CountIfS公式變爲

=COUNTIFS(tbl_Group[Carrier],A10,tbl_Group[CalculatedDate],"<="&EDATE(MAX(tbl_Group[CalculatedDate]),-12)) 

注:基於對潛在的不明確的日期DATEVALUE會做出假設,在我的情況yyyy-mm-dd我區域設置。


原因COUNTIFS離不開計算列的工作是,criteria_range參數必須是直接的範圍,並tbl_Group[OriginalEffectiveDate]是字符串,而不是日期。

不需要計算列的另一種配方是

=SUMPRODUCT(
    (tbl_Group[Carrier]=A12) * 
    (DATEVALUE(tbl_Group[OriginalEffectiveDate]) <= 
    MAX(EDATE(DATEVALUE(tbl_Group[OriginalEffectiveDate]),-12)) 
) 
      ) 
+0

是的,確實有效。我試圖避免添加列,因爲我需要幾個。看起來像DATEVALUE會在公式中工作。謝謝你讓我知道它也不適合你。我確信我做錯了什麼。 – JordanCA57

+0

我可以理解,希望避免添加列,但值得注意的是,表格在更新計算列時非常有效。 –

相關問題