2017-08-14 111 views
-1

內和數據我的數據是這樣的:谷歌電子表格 - 阿雷的日期範圍匹配的行和列

enter image description here

我想總結符合3個條件

  • 國家
  • 一個範圍
  • DateRange> = Date1和DateRange < = Date2

嘗試索引匹配只有一個日期,它的工作,但日期範圍公式不斷給出錯誤。

+1

是這個Excel或谷歌電子表格。只使用適當的標籤。 – Luuklag

+0

我剛試過這個,它可以工作** IF(J3> = B1,IF(K3 <= B1,SUM(B2:B9),「NA」),「NA」)**(其中J3 '和'K3'保留一個日期)。你的公式是什麼? – Zac

回答

0

,如果你有細胞J1和K1定義的日期範圍,那麼這應該工作,提供的日期是相同的格式(所有日期或所有文字等):

=sum(INDIRECT(ADDRESS(2, MATCH(J1,B1:G1, 0)+1, 4) & ":" & REGEXEXTRACT(ADDRESS(2, MATCH(K1,B1:G1, 0)+1, 4), "[A-Z]+"))) 

INDIRECT()允許我們從文本中定義一個範圍。這使用ADDRESS()和MATCH()的組合來構建範圍的第一部分,並使用REGEXEXTRACT()刪除範圍第二部分中的行引用。

從內部分解它,假設J1 = 2017-07-28和K1 = 2017-07-30,我們有第一個MATCH爲範圍B1:G1中的第二列返回值2 J1的內容:

MATCH(J1,B1:G1, 0) 

由於我們在B列,開始我們的列數,我們需要添加一個到,使得相關的地址計算結果爲C2的功能是尋找第二排,第三列和4告訴它返回相對值,因此不包括$字符:

ADDRESS(2, 2+1, 4) 

第二使用()的地址和MATCH()函數在REGEXEXTRACT(包圍)以除去行參考並且evlauates向下如下

REGEXEXTRACT(ADDRESS(2, MATCH(K1,B1:G1, 0)+1), "[A-Z]+") 

REGEXEXTRACT(ADDRESS(2, 4+1), "[A-Z]+") 

REGEXEXTRACT("E2", "[A-Z]+") 

這裏只返回字符AZ的次數,因此如果ADRESS()發送到AZ2,將返回AZ。

這給我們留下了INDIRECT()現在變成:

INDIRECT("C2 & ":" & "E") 

INDIRECT("C2:E") 

讓我們來總結通過這兩個值相匹配的範圍。

0

這可以通過使用INDEX/MATCH發現,該國相匹配的行很容易做到,然後SUMIFS總結其在日期範圍內的金額

=SUMIFS(INDEX($B$2:$H$10,MATCH(C13,$A$2:$A$10,0),0),$B$1:$H$1,">="&A13,$B$1:$H$1,"<="&B13) 

enter image description here