iT邦幫忙

0

Excel合併儲存格,字元判斷

問題如圖,判斷式只要碰到"合併儲存格"就會只判斷第一列,請問要怎樣調整公式?謝謝。

需求:如果G行有字串"DOG",則在M行打V,否則打X

https://ithelp.ithome.com.tw/upload/images/20180615/20103350MfrqBBCCY1.png

M行判斷式:=IFERROR(IF(SEARCH("DOG",G2),"V",),"X")
我真的很討厭合併儲存格。

https://stackoverflow.com/questions/34788096/is-it-possible-to-test-return-if-a-cell-is-merged-without-vba

1 個回答

0
nicelink001
iT邦新手 4 級 ‧ 2018-06-22 17:54:35
最佳解答

我也遇到這問題,找過沒解,最後用 VBA 解。
將 "合併儲存" 的資料寫一份到 另一列 .... 分開
既然寫 VBA 那就不必寫 "M行判斷式" ...直接將資訊寫到 M 就好了
以下是我亂搞寫的 ....沒有debug
還可再改精簡點 ....改天再改 .... XD

Sub test()
lr = Cells(1, 6).End(xlDown).Row
B = 0
For xl = 2 To lr
        If Cells(xl, 7).MergeCells = True Then
            If Not (Cells(xl, 7).Value = "") Then
                B = 0
            End If
            If Cells(xl - B, 7).Value = "DOG" Then
                Cells(xl, 13).Value = "V"
                B = B + 1
            Else
                Cells(xl, 13).Value = "X"
                B = B + 1
            End If
        ElseIf Cells(xl, 7).Value = "DOG" Then
            Cells(xl, 13).Value = "V"
            B = 0
        ElseIf Not (Cells(xl, 7).Value = "DOG") Then
            Cells(xl, 13).Value = "X"
            B = 0
        End If
 Next xl
End Sub

其他的慢慢改吧 .....

魷魚 iT邦新手 1 級 ‧ 2018-06-25 11:39:19 檢舉

我看看了老半天,好像沒什麼辦法可以處理,我這兩天來改改看:D

我要發表回答

立即登入回答