0

這兩列看起來像這張圖片。如何在過濾另一個單元格時查看合併單元格的文本?

當我想只顯示其中包含一個字母「B」的細胞,我不能再看到文本「標題1」和「標題2」,這是在列B.通常可見

我想雖然在B列的單元格被合併,文本仍難免A3,分別A7。

那麼我怎樣才能同時過濾可見內容並保留合併的文本?在簡單的話,我想用字母「b」來過濾內容,我仍然希望看到在列B.

回答

1

您標記Excel,以便在這裏文本「稱號1/2」是Excel的解決方案:

您需要在合併的單元格中單擊該列並取消合併所有單元格。

然後,你需要把這個公式在列表的頂部,並用CTRL + SHIFT進入它+回車(這將它輸入數組公式):

=OFFSET(C3,MAX(IF(NOT(ISBLANK(C$3:C3)),ROW(C$3:C3),0))-ROW(C3),0) 

然後,你需要自動填寫(這個函數看起來有點冗長,但我只是把它放到了在線上 - 這可能是一種更簡單的方法 - 但它會找到範圍中的最後一個非空單元格)。

Unmerge Cells Solution

我認爲OpenOffice的也有類似的功能,所以你應該能夠做同樣的或OpenOffice的類似的東西。

另外,如果你使用的是Excel,你可以點擊你想取消合併並運行此宏柱:

Sub UnMergeSelectedColumn() 

    Dim C As Range, CC As Range 
    Dim MA As Range, RepeatVal As Variant 


    For Each C In Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column).End(xlUp)) 
     If C.MergeCells = True Then 
      Set MA = C.MergeArea 
      If RepeatVal = "" Then RepeatVal = C.Value 
      MA.MergeCells = False 
      For Each CC In MA 
       CC.Value = RepeatVal 
      Next 
     End If 
     RepeatVal = "" 
    Next 

End Sub 

好運。

編輯:

我發現了一個非VBA的解決方案,將在兩個工作出色和OpenOffice和要求您輸入它作爲一個數組公式(使用Ctrl + Shift + Enter鍵) :

=INDEX(B:B,ROUND(SUMPRODUCT(MAX((B$1:B1<>"")*(ROW(B$1:B1)))),0),1) 

在開放式辦公室,我認爲你想這樣輸入:

=INDEX(B:B;ROUND(SUMPRODUCT(MAX((B$1:B2<>"")*(ROW(B$1:B2)))),0),1) 

或也許是這樣的:

=INDEX(B:B;ROUND(SUMPRODUCT(MAX((B$1:B2<>"")*(ROW(B$1:B2)))),0)) 

你只需要自動填寫公式向下:

OpenOffice Compatible Solution

+0

這似乎並不適用於我。我不斷收到Err:501。 – sandalone

+0

你想在openoffice或excel中運行它嗎?它不會在openoffice中工作。 – Stepan1010

+1

看我的編輯 - 我發現了一個解決方案,將在openoffice和Excel中工作,並不需要你輸入它作爲數組公式。 – Stepan1010

0

你的主要問題似乎是你已經過濾後留下的一個「空白行」領域。

刪除它,它會正常工作。

相關問題