2017-02-05 24 views
0

我用這個loooooong公式,以檢查是否在小區A33數據具有REGEXMATCH圖案從細胞INDEX( '類別' $ A $ 4:!$ A $ 30; 1; 1) - 單元格A4 - 如果屬實,我用REGEXREPLACE patterm從細胞INDEX( '類' $ B $ 4:!$ B $ 30; 1; 1) - 電池B4。如果它不是 - 我去檢查與REGEXMATCH模式下一個單元格 - :單元格A5 - ( '類' $ A $ 4 $ $一30; 2 1!)。而做到這一點,直到我找到合適的模式,或者直到達到其具有圖案A30 =最後一個單元格A30「^。$」,B30 =「」 因爲他們的模式是非常不同的只是它在合併沒有點進去一個。 現在公式工作對我來說太緩慢,難以進行快速編輯。我怎樣才能減少和加快配方?減少和加快多個REGEXREPLACE式

=IF(REGEXMATCH($A33;INDEX('categories'!$A$4:$A$30;1;1))=TRUE;REGEXREPLACE($A33;INDEX('categories'!$A$4:$A$30;1;1);INDEX('categories'!$B$4:$B$30;1;1)); 
IF(REGEXMATCH($A33;INDEX('categories'!$A$4:$A$30;2;1))=TRUE;REGEXREPLACE($A33;INDEX('categories'!$A$4:$A$30;2;1);INDEX('categories'!$B$4:$B$30;2;1)); 
IF(REGEXMATCH($A33;INDEX('categories'!$A$4:$A$30;3;1))=TRUE;REGEXREPLACE($A33;INDEX('categories'!$A$4:$A$30;3;1);INDEX('categories'!$B$4:$B$30;3;1)); 
IF(REGEXMATCH($A33;INDEX('categories'!$A$4:$A$30;4;1))=TRUE;REGEXREPLACE($A33;INDEX('categories'!$A$4:$A$30;4;1);INDEX('categories'!$B$4:$B$30;4;1)); 
IF(REGEXMATCH($A33;INDEX('categories'!$A$4:$A$30;5;1))=TRUE;REGEXREPLACE($A33;INDEX('categories'!$A$4:$A$30;5;1);INDEX('categories'!$B$4:$B$30;5;1)); 
IF(REGEXMATCH($A33;INDEX('categories'!$A$4:$A$30;6;1))=TRUE;REGEXREPLACE($A33;INDEX('categories'!$A$4:$A$30;6;1);INDEX('categories'!$B$4:$B$30;6;1)); 
IF(REGEXMATCH($A33;INDEX('categories'!$A$4:$A$30;7;1))=TRUE;REGEXREPLACE($A33;INDEX('categories'!$A$4:$A$30;7;1);INDEX('categories'!$B$4:$B$30;7;1)); 
IF(REGEXMATCH($A33;INDEX('categories'!$A$4:$A$30;8;1))=TRUE;REGEXREPLACE($A33;INDEX('categories'!$A$4:$A$30;8;1);INDEX('categories'!$B$4:$B$30;8;1)); 
IF(REGEXMATCH($A33;INDEX('categories'!$A$4:$A$30;9;1))=TRUE;REGEXREPLACE($A33;INDEX('categories'!$A$4:$A$30;9;1);INDEX('categories'!$B$4:$B$30;9;1)); 
IF(REGEXMATCH($A33;INDEX('categories'!$A$4:$A$30;10;1))=TRUE;REGEXREPLACE($A33;INDEX('categories'!$A$4:$A$30;10;1);INDEX('categories'!$B$4:$B$30;10;1)); 
IF(REGEXMATCH($A33;INDEX('categories'!$A$4:$A$30;11;1))=TRUE;REGEXREPLACE($A33;INDEX('categories'!$A$4:$A$30;11;1);INDEX('categories'!$B$4:$B$30;11;1)); 
IF(REGEXMATCH($A33;INDEX('categories'!$A$4:$A$30;12;1))=TRUE;REGEXREPLACE($A33;INDEX('categories'!$A$4:$A$30;12;1);INDEX('categories'!$B$4:$B$30;12;1)); 
IF(REGEXMATCH($A33;INDEX('categories'!$A$4:$A$30;13;1))=TRUE;REGEXREPLACE($A33;INDEX('categories'!$A$4:$A$30;13;1);INDEX('categories'!$B$4:$B$30;13;1)); 
IF(REGEXMATCH($A33;INDEX('categories'!$A$4:$A$30;14;1))=TRUE;REGEXREPLACE($A33;INDEX('categories'!$A$4:$A$30;14;1);INDEX('categories'!$B$4:$B$30;14;1)); 
IF(REGEXMATCH($A33;INDEX('categories'!$A$4:$A$30;15;1))=TRUE;REGEXREPLACE($A33;INDEX('categories'!$A$4:$A$30;15;1);INDEX('categories'!$B$4:$B$30;15;1)); 
IF(REGEXMATCH($A33;INDEX('categories'!$A$4:$A$30;16;1))=TRUE;REGEXREPLACE($A33;INDEX('categories'!$A$4:$A$30;16;1);INDEX('categories'!$B$4:$B$30;16;1)); 
IF(REGEXMATCH($A33;INDEX('categories'!$A$4:$A$30;17;1))=TRUE;REGEXREPLACE($A33;INDEX('categories'!$A$4:$A$30;17;1);INDEX('categories'!$B$4:$B$30;17;1)); 
IF(REGEXMATCH($A33;INDEX('categories'!$A$4:$A$30;18;1))=TRUE;REGEXREPLACE($A33;INDEX('categories'!$A$4:$A$30;18;1);INDEX('categories'!$B$4:$B$30;18;1)); 
IF(REGEXMATCH($A33;INDEX('categories'!$A$4:$A$30;19;1))=TRUE;REGEXREPLACE($A33;INDEX('categories'!$A$4:$A$30;19;1);INDEX('categories'!$B$4:$B$30;19;1)); 
IF(REGEXMATCH($A33;INDEX('categories'!$A$4:$A$30;20;1))=TRUE;REGEXREPLACE($A33;INDEX('categories'!$A$4:$A$30;20;1);INDEX('categories'!$B$4:$B$30;20;1)); 
IF(REGEXMATCH($A33;INDEX('categories'!$A$4:$A$30;21;1))=TRUE;REGEXREPLACE($A33;INDEX('categories'!$A$4:$A$30;21;1);INDEX('categories'!$B$4:$B$30;21;1)); 
IF(REGEXMATCH($A33;INDEX('categories'!$A$4:$A$30;22;1))=TRUE;REGEXREPLACE($A33;INDEX('categories'!$A$4:$A$30;22;1);INDEX('categories'!$B$4:$B$30;22;1));)))))))))))))))))))))) 

回答

0

好了,已經有來自gogle論壇的答案,謝謝給Tackky:

=index(filter(regexreplace($C2;$A$2:$A$19;$B$2:$B$19);regexmatch($C2;$A$2:$A$19));1)