EXCEl條件篩選後的文字要用CONCATENATE合併起來
品項 銷售數量
A 0
B 1
C 0
D 2
E 3
想要的結果在找出銷售數量>0後, 最後可以給我品項是BDE
謝謝!
謝謝您的回答, 但因為我的資料期數很多(2年), 我要如何才能不需要每期都做判斷式呢?
給小花的!
請問我總共欄數到BB, 請問我是所有欄數都要寫進巨集裡嗎?
我有找到一各相關的巨集(知識裡找到的) 是一個叫Cobitexif的(不知道可不可以把那貼到我的問題, 所以就不貼了)
但我跑出得值(文字字串總合)是0
謝謝您的回答
3 個解答
- 小花Lv 51 0 年前最佳解答
你可能要用巨集的方式來做,按工具的巨集選項,選巨集,出現對話窗後再選編輯選項,就會出現編輯器,在編輯器中,將以下內容剪下貼上
Sub篩選 ()
Dim str(5) As String
Dim str2 As String
For i = 1 To 5 '5是你的資料列數當i=1時cell(i,2)意思是B1儲存格
If ActiveSheet.Cells(i, 2).Value > 0 Then '判斷B1是否大於0
ActiveSheet.Cells(i, 3).Value = Cells(i, 1) '如果大於0將A1的值(品項)存到C1
str(i) = Cells(i, 1)
End If
str2 = str2 str(i)
Next i
ActiveSheet.Cells(1, 4).Value = str2 '這行是將大於0的品項加總貼到D1
End Sub
完成後在巨集選項的對話窗,會出現一個名稱為篩選的巨集,再選擇對話窗中的選項按鍵,可以設定快捷鍵
希望能幫到你
不過你可能要了解Cells的屬性,Cells(1,4)是指D1儲存格,Cells(2,4)是D2,前一個數字是列數,後一個則是欄數,我是依你的問題做設計,如果你資料C欄及D欄另有資料的話,那自己就要修正巨集公式,將結果存到其他儲存格
2007-10-24 20:56:48 補充:
修正巨集公式,請改貼以下公式
Sub 篩選()
Dim str(5) As String '5也是列數
Dim str2 As String
For i = 1 To 5 '5是你的資料列數當i=1時cell(i,2)意思是B1儲存格
If ActiveSheet.Cells(i, 2).Value > 0 Then '判斷B1是否大於0
str(i) = Cells(i, 1)
End If
str2 = str2 + str(i)
Next i
ActiveSheet.Cells(1, 4).Value = str2 '這行是將大於0的品項加總貼到D1
End Sub
2007-10-30 12:20:47 補充:
Function Cobitexif(Rng As Range, Crng As Range) As String
Dim Ntex()
For i = 1 To Rng.Count
If Rng(i) >0 Then
ReDim Preserve Ntex(s)
Ntex(s) = Crng(i): s = s + 1
End If
Next
Cobitexif = Join(Ntex)
End Function
2007-10-30 12:21:12 補充:
和參考資料不同處,原本有三引數,我去掉中間引數依你的意思改為挑選大於0
第一個引數(Rng)選取品項數量範圍儲存格,第二個引數(Crng)選品項名
依你題意就是Rng=B1:B5 Crng=A1:A5
希望能解決你的問題
2007-10-30 12:22:35 補充:
如果你要更改挑選條件
在If Rng(i) >0這裡更改,目前是設選出大於0
參考資料: 自己, 自己, http://tw.knowledge.yahoo.com/question/?qid=150707... - TrumpLv 71 0 年前
優質問題,且「問題標題」相當清楚,值得推薦!
2007-10-24 19:23:12 補充:
如問題尚未解決,請提出哪部份尚未解決~
請透過以下網址,來信告訴筆者,來信時請記得附上問題網址。
- MaxLv 41 0 年前
要經過三個步驟
1.先下if函數於C2位置,=IF(B2>0,A2,"")
2.以C2之函數往下複製至C6位置
3.在C7位置加上=CONCATENATE(C2,C3,C4,C5,C6)
執行結果如下
........A.............B............C
--------------------------------------
1|...品項.....銷售數量....if判斷
2|......A............ 0............
3|......B............ 1............ B
4|......C............ 0............
5|......D............ 2............D
6|......E............ 3............E
7|..................................BDE
參考資料: 我自己的經驗