問題是這樣的:
請(qǐng)從下圖所示的和值表中查找一個(gè)號(hào)碼,號(hào)碼順序不限,比如,圖示和值表區(qū)域中的“138”,要求不論查找318、381、138、183、813還是831,都能在第10行第4列找到這個(gè)號(hào)碼,并且:
(1)找出該號(hào)碼對(duì)應(yīng)的行列號(hào)(上面已說了);
(2)該位置的號(hào)碼;
(3)該位置上一行的號(hào)碼、下一行的號(hào)碼;
(4)這3個(gè)號(hào)碼中的不重復(fù)號(hào)碼。
![]() |
解決辦法如下:
第1個(gè)問題。在C29單元格中輸入數(shù)組公式:{=MAX((SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B4:K25,MID(B29,1,1),"",1),MID(B29,2,1),"",1),MID(B29,3,1),"",1)="")*(ROW(4:25)*100+COLUMN(B:K)))}
解釋:在和值表區(qū)域B4:K25所有單元格中,逐個(gè)單元格進(jìn)行比較,分別查找所要查找號(hào)碼中的3個(gè)號(hào)碼(本例中即3、1、8)是否在當(dāng)前單元格中,如果在其中,則把找到的第1個(gè)位置的該號(hào)碼替換為空字符串("")。注意,不能一次全部替換為空字符串,因?yàn)?,一個(gè)單元格的3個(gè)號(hào)碼中,可能有2個(gè)以上的相同號(hào)碼,如220、333。這樣,一次替換一個(gè)號(hào)碼,經(jīng)過3次替換后,如果為空字符串,說明當(dāng)前單元格中的號(hào)碼與欲查找的號(hào)碼相同(順序不一定一致),此時(shí),(SUBSTITUTE(...)="")為TRUE,與后面數(shù)值相乘時(shí)等同1處理,否則為FALSE,等同0。后面的(ROW(4:25)*100+COLUMN(B:K)))就是區(qū)域中各個(gè)單元格的行列號(hào)的數(shù)值。前后相乘的結(jié)果,要么為0,要么為找到的單元格所對(duì)應(yīng)的行列號(hào)的數(shù)值。這個(gè)數(shù)組中只有一個(gè)大于0的值,其余都是0,所以,數(shù)組中的最大值就是該號(hào)碼對(duì)應(yīng)的行列號(hào)。
第2個(gè)問題。在D29單元格中輸入公式:=INDIRECT(TEXT(C29,"!R0C00"),0),第2個(gè)參數(shù)0(或FLASH)表示為R1C1樣式的引用。
第3個(gè)問題。
在E29單元格中輸入公式:=INDIRECT(TEXT(C29-100,"!R0C00"),0)
在F29單元格中輸入公式:=INDIRECT(TEXT(C29+100,"!R0C00"),0)
第4個(gè)問題。在G29單元格中輸入數(shù)組公式:{=IF(COUNT(FIND(0,D29:F29))>0,0,"") & SUBSTITUTE(SUM(ISNUMBER(FIND(ROW($1:$9),D29 & E29 & F29))*ROW($1:$9)*10^(9-ROW($1:$9))),0,"")}
聯(lián)系客服