2013-02-07 58 views
0

我有一個電子表格設置像這樣:Excel中做,當細胞的文本是真實的

Col A 
----- 
TEXT 1 
McCartney, Paul 
Lennon, John 
Harrison, George 
Starr, Ringo 
TEXT 2 
Lee, Geddy 
Lifeson, Alex 
Peart, Neil 

列B我想只要你還沒有達到「TEXT 2」還添加文字。例如,我的數據可能看起來像:

Col A    Col B 
-----    ----- 
TEXT 1    
McCartney, Paul  Beatles 
Lennon, John  Beatles 
Harrison, George Beatles 
Starr, Ringo  Beatles 
TEXT 2    
Lee, Geddy   Rush 
Lifeson, Alex  Rush 
Peart, Neil   Rush 

我試過的「做雖然」若干組合和「如果...那麼...結束如果」,但什麼也沒有工作。我如何編寫代碼?

回答

0

我在列A中有三個'title'行:Open,Gain和Limited。這些名字是靜態的。它們之間的行數總是會有所不同。這些行之間的數據是人名,格式爲「Last,First」。我試圖在結尾處添加一列,當行在「打開」行和「增益」行之間時顯示「打開」。然後,我想在'增益'和'限制'行之間的這個新列中增加'增益'一詞。從那裏,新的專欄將會說'有限'。我希望這是有道理的。 - Mr_Thomas 3小時前

這是你正在嘗試的嗎?

穿戴該式中細胞B1和複製下來

=IF(ISNA(INDEX(MATCH("Limited",$A$1:$A1,0),1,1)),IF(ISNA(INDEX(MATCH("Gain",$A$1:$A1,0),1,1)),IF(ISNA(INDEX(MATCH("Open",$A$1:$A1,0),1,1)),"","Open"),"Gain"),"limited")

SCREENSHOT

enter image description here

+0

我讀到OP的評論意味着他只想在「標題行」之間顯示類別名稱,即在示例中的單元格B1,B7和B14中顯示一個空格。達到此目的的一種方法是將公式擴展爲'= IF(NOT(ISERROR(SEARCH(A1,「opengainlimited」))),「」,<您的公式>' – chuff

+0

丁!丁!丁!我們有一個贏家!我並不擔心'標題'行,因爲一旦建立了這個列,這些標題行將被刪除。 –

1

你不需要VBA此 - 只是把這個公式中B2

=IF(ISERROR(VLOOKUP("TEXT 2",$A$2:A2,1,0)),"Beatles","") 

和自動填充,直到數據的A列末尾。

+0

所有列B中的行結束空白。另外,這是如何生效的'TEXT 1'和'TEXT 3'? (TEXT 3在A列的下方)。 –

+0

@Mr_Thomas檢查文件:https://www.dropbox.com/s/7ngi72enc9sdnjw/Beatles.xlsx - 初始條件:「在列BI中,只要尚未達到'TEXT 2',就要添加文本。 「按照要求得到滿足。 –

+0

哦,我明白你在做什麼 - 它確實適用於它。然而,我最初的意圖是讓某些東西在列A中循環,並在列B中添加一個值,這取決於該行是否仍處於「披頭士」範圍內,或者是否已更改爲「Rush」。 –