返回列表 上一主題 發帖

[發問] 在沒有排序的情形下,相同產品編號,留下最後一個就好

[發問] 在沒有排序的情形下,相同產品編號,留下最後一個就好

各位大大好,

請教.....
我想在E欄下一個公式,在沒有排序的情形下,讓B欄相同產品編號,留下最後一個就好.
例如:00021025025的最後一個相同編號在B24,只在B24顯示產品編號,其餘就空白

進貨單日報表2.rar (22.56 KB)

各位大大好,

請教.....
我想在E欄下一個公式,在沒有排序的情形下,讓B欄相同產品編號,留下最後一個就好 ...
PJChen 發表於 2014-11-20 19:01

公式我不會,
若改用 Excel VBA 倒是很容易做到此功能.
  1. Sub nn()
  2.   Dim lRow&
  3.   Dim vD, vA
  4.   
  5.   Set vD = CreateObject("Scripting.Dictionary")
  6.   lRow = Cells(Rows.Count, 5).End(xlUp).Row
  7.   Range(Cells(5, 5), Cells(lRow, 5)).Clear
  8.   lRow = 5
  9.   Do While Cells(lRow, 2) <> ""
  10.     vD(CStr(Cells(lRow, 2))) = lRow
  11.     lRow = lRow + 1
  12.   Loop
  13.   
  14.   For Each vA In vD
  15.     Cells(vD(vA), 5) = vA
  16.   Next
  17. End Sub
複製代碼

TOP

回復 2# luhpro

謝謝大大的回覆,執行上沒有問題,但因為檔案做完後要給許多人看,我比較擔心忘了刪除巨集....
想知道有沒有人會用公式的?

TOP

回復 3# PJChen

請問第1樓的情形,有公式可以用嗎?

TOP

回復 4# PJChen

    試看看
    E5=IF(COUNTIF(B:B,B5)=1,B5,IF(ROW()=MATCH(B5,B:B,2),B5,""))
    公式往下拉

TOP

回復 5# owen06

您好,

感謝您的回復,我試了公式,它在排序的情形下沒有問題,但若沒有排序,則會出錯,無法正確的show出最後一筆料號.
請問還能怎麼修正公式呢?

TOP

回復 6# PJChen

E2=IF(COUNTIF(B$2:B2,B2)<COUNTIF(B:B,B2),"",B2)
往下拉,請問是不是你要的需求?

TOP

回復 7# samwang

感謝大大,

我把它改成這樣,就是我要的了,太謝謝了...
這樣的公式對我來說太有用了...
=IF(COUNTIF(B$5:B5,B5)<COUNTIF(B:B,B5),"",B5)

TOP

PJChen大大你好,

請想教.. 為何會用 MATCH(B5,B:B,2)?
我只知道match 可以用 -1, 0 , 1...
但不明白用2是為什麼呢?

請教各位大大幫忙解答..
^^


回復  PJChen

    試看看
    E5=IF(COUNTIF(B:B,B5)=1,B5,IF(ROW()=MATCH(B5,B:B,2),B5,""))
    公 ...
owen06 發表於 2014-11-28 12:29

TOP

=IF(ISNA(MATCH(B5,B6:B3000,)),B5,)&""

TOP

        靜思自在 : 【時間無法遮擋】怕時間消逝,花了許多心血,想盡各式方法要遮擋時間,結果是:浪費了更多時間,且一無所成!
返回列表 上一主題