返回列表 上一主題 發帖

[發問] 核對兩個儲存格的資料

本帖最後由 Hsieh 於 2011-3-8 18:55 編輯

回復 12# seci
定義名稱
y=MAX(IF(MID(Sheet1!$A2,ROW(INDIRECT("A1:A"&LEN(Sheet1!$A2))),1)=",",ROW(INDIRECT("A1:A"&LEN(Sheet1!$A2))),""))

C2陣列公式
{="B"&MAX(IF(ISNUMBER(FIND(MID(A2,y+1,255),$B$2:$B$6)),ROW($A$2:$A$6),""))}
學海無涯_不恥下問

TOP

回復 15# seci
那你的資料的比對規則,到底是最後一組逗號分隔還是第一組以後的所有字串比對
請把你的資料作成EXCEL檔案後,壓縮上傳,解釋清楚你的比對規則
學海無涯_不恥下問

TOP

回復 17# seci

定義名稱x
=LEN(Sheet1!$A2)-LEN(SUBSTITUTE(Sheet1!$A2,",",""))-2
C2陣列公式
{="B"&MIN(IF(ISNUMBER(FIND(MID(A2,FIND(",",SUBSTITUTE(A2,",","",x))+3,255),$B$2:$B$4)),ROW($A$2:$A$4),""))}
學海無涯_不恥下問

TOP

回復 21# FAlonso

陣列公式的思考邏輯,是傳回一個序列的資料集
FIND函數在B欄資料串列中尋找
他傳回的是
FIND(搜尋字串,B2)
FIND(搜尋字串,B3)
FIND(搜尋字串,B4)
FIND(搜尋字串,B5)
.
.
.
這樣一連串的值
這樣在儲存格內顯示的值,會是該一連串的值的第一個值
但實際上FIND是對一個字串做搜尋,所以,只針對第一個儲存格字串做搜尋
必須利用IF及ISNUMBER才能傳回一個TRUE跟FALSE的陣列
學海無涯_不恥下問

TOP

        靜思自在 : 願要大、志要堅、氣要柔、心要細。
返回列表 上一主題