呢個睇落好d 我核人手㩒少d掣
Unique() 拎個date既list係要分開日子同時間?
=LET(Date_Col,A2:A9,
XLOOKUP(UNIQUE(LEFT(SORT(Date_Col),SEARCH(" ",SORT(Date_Col)))),LEFT(SORT(Date_Col),SEARCH(" ",SORT(Date_Col))),SORT(Date_Col),,,-1))
=XLOOKUP(C2#,A2:A9,B2:B9,"",0,-1)
A B C
90 100 15.5
100 110 18.4
110 120 21.9
我想用EXCEL公式判斷當E1的數在A和B COLUMN的範圍內時, F1有沒有大於對應C COLUMN的值
針對你的需求,我們可以在Excel中使用IF和VLOOKUP函數來實現這個判斷。假設你的資料範圍在A1到C3,E1儲存格中存放你想要判斷的數字,F1儲存格中存放你想要比較的值。你可以在另外一個儲存格中使用以下的公式:
=IF(AND(E1>=A1, E1<B1), F1>C1, IF(AND(E1>=A2, E1<B2), F1>C2, IF(AND(E1>=A3, E1<B3), F1>C3, "不在範圍內")))
這個公式會檢查E1的值是否落在A和B列的數值範圍內,然後判斷F1的值是否大於相應的C列的值。如果是,則結果為TRUE;如果不是,結果為FALSE;如果E1的值不在任何範圍內,則會顯示"不在範圍內"。
請注意,這個方法在有限的數據範圍內是可行的,如果資料範圍很大,可能需要其他方法來實現,例如使用VLOOKUP或INDEX和MATCH函數組合等更進階的方法。
怎樣使用VLOOKUP或INDEX和MATCH函數組合等更進階的方法。
當你有一個較大的數據集且需要查找對應範圍內的數值時,使用VLOOKUP或INDEX和MATCH函數組合會是一個更加靈活和強大的方法。以下是如何使用這些函數來解決你的問題的示例。
使用VLOOKUP
由於VLOOKUP函數在查找時僅能往右查找數據,而且無法直接完成範圍匹配,我們這裡假設E1的值需要查找A和B列間對應的範圍,且該值處於排列有序的A列中,然後比較F1和相應C列的值:
=IF(F1>VLOOKUP(E1, A:C, 3, TRUE), "是", "否")
此公式中,VLOOKUP的最後一個參數設置為TRUE,表示進行近似匹配,即找到最接近且不大於查找值的數據。然後,將F1與對應的C列值進行比較。
使用INDEX和MATCH
INDEX和MATCH的組合提供了更大的彈性,能夠從任意方向查找數據,並進行範圍匹配。對於你的需求,我們首先用MATCH函數找到E1在A:B範圍內的行數,再用INDEX函數取得對應的C列數值進行比較:
=IF(F1>INDEX(C:C, MATCH(E1, A:A, 1)), "是", "否")
這里MATCH函數的第三個參數設置為1,表示查找最接近且不大於查找值的數據的位置。然後,INDEX函數根據MATCH函數返回的位置從C列中取得相應的值進行比較。
請注意,使用這些函數時需要確保數據有適當的排序(例如,使用MATCH函數時A列的數據應該是升序排列的),以便函數正確執行。这两种方法各有特点,可以根据实际情况和个人偏好选择使用。
=LET(
Male_Table, Criterion!$A$1:$B$9,
Female_Table, Criterion!$C$1:$D$9,
Gender, D5,
Height, G5,
Weight, H5,
SWITCH(Gender,
"M",
IF(Weight > XLOOKUP(Height,--TEXTBEFORE(CHOOSECOLS(Male_Table, 1), ":"), CHOOSECOLS(Male_Table, 2),"", -1), "超重", "正常"),
"F",
IF(Weight > XLOOKUP(Height,--TEXTBEFORE(CHOOSECOLS(Female_Table, 1), ":"), CHOOSECOLS(Female_Table, 2),"", -1), "超重", "正常"),))
Dim rng As Range
Dim totalRows As Long
totalRows = 0
For Each rng In Selection.Areas
totalRows = totalRows + rng.Rows.Count
Next rng
MsgBox "總行數為:" & totalRows
Sub GetUniqueRowsCount()
Dim rng As Range
Dim cell As Range
Dim uniqueRows As New Collection
Dim key As Variant
Dim rowCount As Long
Set rng = Selection
On Error Resume Next
For Each cell In rng
uniqueRows.Add cell.EntireRow.Address, CStr(cell.EntireRow.Address)
Next cell
On Error GoTo 0
rowCount = uniqueRows.Count
MsgBox "總行數(不包含重複):" & rowCount
End Sub