VLOOKUP()
在表格的首列查找指定的數值,并返回表格當前行中指定列處的數值。
結構:=VLOOKUP(查找值,查找區域,列序數,匹配條件)
解釋:=VLOOKUP(找誰,在哪里找,第幾列,0或1)
1.目的:根據【產品】查找【銷量】
公式:=VLOOKUP(E2,$B$1:$C$11,2,0)
說明:“查找值”E2也就是【產品】,“查找區域”根據查找值【產品】在所選的數據表中,也就是$B$1:$C$11中必須位于第一列。“列序數”為3,表示對應結果【銷量】在所選區域中排第3列;“匹配條件”為0,表示精確匹配,若為1則代表近似匹配。
2.目的:根據【產品】查找【日期】
公式:=VLOOKUP(E2,$B$1:$D$11,3,0)
說明:“查找值”G2也就是【產品】,由于數據表中【產品】列在【日期】列的后面,無法按照VLOOKUP函數的使用方法(查找區域要根據查找值位于第一列進行)所以我們要將【產品】排列在數據表中的第一列,則增加一列【輔助列】代表【日期】列,數據表所選區域也就是$B$1:$D$11區域。“列序數”為3,表示對應結果【輔助列】在所選區域中排第3列;“匹配條件”為0,表示精確匹配
=VLOOKUP(E2,$B$1:$D$11,3,0)
VLookup():用于從一列或一行或數組中查找一個值。
“=VLOOKUP(A14,A1:A11,B1:B11)”獲得了第一個進價。這個公式里有三個參數,值如下:
- 第一個參數“Lookup_value”:A14,是要查找的值;
- 第二個參數“lookup_vector”:A1:A11,是要查找的范圍;
- 第三個參數“Result_vector”:B1:B11,是要獲得的值。
index函數
Index函數:根據數據區域中的行列號返回區域中對應的值
INDEX(array,?row_num,?[column_num])
- 第1參數:要查找的單元格區域;
- 第2參數:返回單元格區域的某行;
- 第3參數:返回單元格區域的某列;
match函數
語法:=MATCH(lookup_value, lookup_array, [match_type])
- 第一參數:查找值
- 第二參數:查找的數據區域
- 第三參數:匹配類型,在這里我們將其設置為0即可,表示精確匹配
INDEX和MATCH結合使用
=INDEX($G$2:$G$5,MATCH(C2,$F$2:$F$5,1))
countif():在指定區域中按指定的條件對單元格進行計數
=countif(range,criteria)
參數意義:
- 參數range:表示要計算其中滿足條件的非空單元格數目的單元格區域;
- 參數criteria:表示統計條件,其條件的形式可以為數字、表達式或文本,也可以使用通配符。
統計空白單元格
COUNTBLANK函數是計算區域內空白單元格的個數。
COUNTBLANK()
SUMPRODUCT函數:返回相應的數據或區域乘積之和
在列表中計數操作:
OFFSET:函數用于返回一個單元格或單元格區域的引用,該引用是相對于另一個單元格或區域的。
OFFSET(reference, rows, cols, [height], [width])
reference
?是起始單元格或區域的引用。rows
?是從起始單元格或區域開始要偏移的行數(可以是負數,表示向上偏移)。cols
?是從起始單元格或區域開始要偏移的列數(可以是負數,表示向左偏移)。[height]
?和?[width]
?是可選參數,分別表示返回引用區域的高度和寬度。
=SUM(OFFSET(D3,,,,MATCH($B$1,$D$2:$O$2,0)))
?通過單獨獲取累計的操作:
?SUM(INDEX(D5:O12,MATCH(B15,B5:B12,0),MATCH(B16,D4:O4,0)):INDEX(D5:O12,MATCH(B15,B5:B12,0),MATCH(B17,D4:O4,0)))
解說:
這個Excel公式使用了INDEX
和MATCH
函數來動態地確定一個范圍,并對這個范圍內的單元格進行求和。讓我們逐步解析這個公式:
-
MATCH函數:
MATCH(lookup_value, lookup_array, [match_type])
MATCH
函數返回lookup_value
在lookup_array
中的相對位置。match_type
參數決定了查找的類型,其中0表示精確匹配。在你的公式中,有三個
MATCH
函數:MATCH(G17,B5:B12,0)
:查找G17
單元格中的值在B5:B12
范圍內的位置。MATCH(G18,D4:O4,0)
:查找G18
單元格中的值在D4:O4
范圍內的位置(這通常是一個標題行,表示列的標識)。MATCH(G19,D4:O4,0)
:查找G19
單元格中的值在D4:O4
范圍內的位置。
-
INDEX函數:
INDEX(array, row_num, [column_num], [area_num])
INDEX
函數返回指定數組中某個單元格的值,該單元格由行號和列號確定。在你的公式中,有兩個
INDEX
函數:- 第一個
INDEX
函數確定了范圍的起始單元格:INDEX(D5:O12,MATCH(G17,B5:B12,0),MATCH(G18,D4:O4,0))
。這里,它找到G17
在B5:B12
中的行號,以及G18
在D4:O4
中的列號,從而確定了起始單元格。 - 第二個
INDEX
函數確定了范圍的結束單元格:INDEX(D5:O12,MATCH(G17,B5:B12,0),MATCH(G19,D4:O4,0))
。與第一個INDEX
類似,但它使用G19
的值來確定列號,從而確定了結束單元格。
- 第一個
-
SUM函數:
SUM(number1, [number2], ...)
SUM
函數計算一系列數值的總和。在你的公式中,
SUM
函數計算了由兩個INDEX
函數定義的范圍內所有單元格的總和。
綜上所述,這個公式的作用是:
- 根據
G17
的值在B5:B12
中找到對應的行號。 - 根據
G18
和G19
的值在D4:O4
中找到對應的列號,從而確定一個范圍。 - 對這個范圍內的所有單元格進行求和。
例如,如果G17
的值對應于B5:B12
中的第3行,G18
的值對應于D4:O4
中的第5列,而G19
的值對應于第7列,那么這個公式將計算從D7
到O7
范圍內所有單元格的總和。