2014-10-08 30 views
0

我試圖從間隔20列的相同行上的單元格檢索值。從多個斷開的單元格獲取值

現在我已經把下面的公式來檢索在前五單元格的值我感興趣的是:

={IF(OR(IF({1,2,3,4,5}*20+1<25,CHAR(MOD({1,2,3,4,5}*20+1,26)+64),CHAR(INT(({1,2,3,4,5}*20+1)/26)+64)&CHAR(MOD({1,2,3,4,5}*20+1,26)+64))&ROW()="OK"),"OK","N/G")} 

細胞包含計算檢查的結果。如果以「OK」,「N/G」或「N/A」的形式給出結果。現在我有興趣確定是否即使單個單元格報告「確定」,因此使用公式中的OR

問題是,雖然這正確地獲取單元格的地址,它們作爲文本返回。 OR然後對地址和標準進行文本比較,發現沒有地址是「OK」......這是合乎邏輯的,但不是我想要的。

我試過使用INDIRECT(),但這似乎不工作時,它的形式={INDIRECT("A1","B2","C3")}。任何人都可以提出一種方法來將文本地址更改爲公式可以正確解釋的地址嗎?

我可以爲此編寫一些vba代碼,但如果可能的話我想使用公式解決方案。

+0

不太清楚你想要什麼,但想知道你是否考慮過R1C1參考樣式的電子表格。 – pnuts 2014-10-08 02:56:55

+0

嗯,這是一個有趣的建議,但我不知道如何使用數組做這項工作?你有什麼可以展示的機會嗎? – 2014-10-08 03:08:55

+0

我不清楚你需要什麼。我的方法可能是整個行中的條件計數(即確保每個集合中的「其他」19個單元不包含「OK」,「N/G」或「N/A」),或避免而不是解決問題)。但是您可能需要OFFSET而不是INDIRECT。 – pnuts 2014-10-08 03:11:04

回答

0

通過對要檢查的列進行靜態交錯,可以使用MOD()來確定工作表上的序號位置。

enter image description here

在CE2的公式爲=IF(SUMPRODUCT(($A2:$CC2=CE$1)*(MOD(COLUMN($A:$CC),20)=1)), "Yes", "No")。根據需要向右和向下填充。