2013-05-28 86 views
0

我在Excel中的一個大表有列標題ABCDANSWERIF語句,基於文本相匹配

ABCD代表選擇題插入文本我在桌上。

我還有一個ANSWER列,其答案由上述相應的多項選擇標題字母表示。

例如,每個列標題(ABCD)下,我有可能的答案,FoodCarHouseSchool

在上例中,House(C)是正確的答案。我想創建的Answer細胞,它在它CABCD列標題匹配的IF聲明,如果有匹配,則實際的答案之前插入=。在這種情況下,結果將是=house。答案的其餘部分應在該單詞前插入~,即~food,~car,~school

最終結果應該如下所示:~food,~car,=house,~school

+1

這個結果應該寫在哪裏? – Bathsheba

+0

你想在代碼中做到這一點? – Geoff

+0

我想用新的前綴替換答案,〜或=或者我可以將最終校正結果放在空單元格中。 – user2428927

回答

2

安全地實現這一目標的唯一方法是在另一個工作表或不同列中複製表格。

這是爲什麼? 因爲你想改變你的陳述的來源。 Excel會認爲這是一個循環引用,無法解決它。

有一個VBA代碼解決方案,你可以只運行一次。這也會更改源數據,並且會丟失原件。可能是一個沒有回頭的行動。

所以:

我建議你創建一個新的工作表,把標題A,B,C和D. 所以,你將有兩個表:包含答案和每個選項的OriginalSheet。 和ResultSheet,包含您想要的格式化選項。

ResultSheet,使用這個公式:

= IF(OriginalSheet!$E2 = A$1; "="; "~") & OriginalSheet!A2 

正在考慮的第一行containig文本:A,B,C和D.所以,你必須在ResultSheetA2單元格中插入該公式。 您可以單擊單元格右下方的小黑方塊,然後將此公式拖到所有其他單元格中。 ($ simbols保證拖動將是安全的)

+0

太棒了!像魅力一樣工作。謝謝 – user2428927