返回列表 上一主題 發帖

[發問] 關於搜尋/比對 的函數寫法,懇請前輩指點

回復 9# chou1203

P6欄位公式:  [ =IF(AND(O6=O7,SUM((0&B6:M6)^7)=SUM((0&B$1:M$1)^7)),"、"&A6,)&P7  ]陣列

SUM((0&B6:M6)^7)   用0的意義是?    ^7這個在公式裡的的意義為何呢?
-----------------------------------------------------------------------------------
0的意義?
當空格時無法計算 0&空格為 "0"可以計算,當有數字時  0&99 = "099" 可以計算也是為 99
   
^7這個在公式裡的的意義為何呢?
當儲存個內是不重複數字時,SUM( 5^7,10^7,15^7,20^7,25^7)  =  SUM( 5^7,20^7,25^7,10^7,15^7) 雖然掉換位置但加總後數字會一樣,^7是將數字膨脹拉大距離,避免組和數字加總有同數性。
例如
直接加總無法分辨不同數字
       1+3+5 = 1+2+6 都為9,但數字不同
      
若 ^7 加總後容易分辨不同數字
       1^7+3^7+5^7 = 80313       
       1^7+2^7+6^7 = 280065
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 11# ML089

感謝前輩指導說明,我會再來研究學習,謝謝

TOP

參考參考



E2: {=IF(C2<>"",AND(OFFSET(D2,,,COUNTA($A$2:$A$13),)=OFFSET($A$2,,,COUNTA($A$2:$A$13),)),"")}

F2: {=IF(C2<>"",SUM(COUNTIF(OFFSET(D2,,,COUNTA($A$2:$A$13),),OFFSET($A$2,,,COUNTA($A$2:$A$13),))),"")}

G2: =IF(C2<>"",AND(E2=FALSE,F2=COUNTA($A$2:$A$13)),"")

J2: {=IFERROR(INDEX($C$2:$C$146,SMALL(IF($E$2:$E$146=TRUE,ROW($C$1:$C$145),""),ROW(A1))),"")}

k2: {=IFERROR(INDEX($C$2:$C$146,SMALL(IF($G$2:$G$146=TRUE,ROW($C$1:$C$145),""),ROW(A1))),"")}
http://expresmile.teachable.com

TOP

回復 13# handmuch


    前輩 非常感謝您的公式,會花時間來了解,感謝您

TOP

Sub TEST()
Dim Arr, A, i&, xD, C%, V%, N%, T$(2), s%, ST$(2)
Set xD = CreateObject("Scripting.Dictionary")
For Each A In [A2:A13].Value
    If A <> "" Then xD(A & "") = 1: T(0) = T(0) & A & "_": C = C + 1
Next

Arr = Range([C2], [D65536].End(xlUp)(2))
For i = 1 To UBound(Arr) - 1
    If Arr(i, 1) <> "" Then T(1) = Arr(i, 1): T(2) = ""
    T(2) = T(2) & Arr(i, 2) & "_"
    V = V + xD(Arr(i, 2) & ""): N = N + 1
    If Arr(i + 1, 1) <> "" Or i = UBound(Arr) Then
       If V = C Then s = 2
       If T(2) = T(0) Then s = 1
       If N <> C Then s = 0
       ST(s) = ST(s) & "、" & T(1): V = 0: N = 0
    End If
101: Next i

[I2] = Mid(ST(1), 2)
[I3] = Mid(ST(2), 2)
End Sub

TOP

        靜思自在 : 人事的艱難與琢磨,就是一種考驗。
返回列表 上一主題