有兩欄文字或是數字資料
可以用Excel做交集或聯集嗎?
謝謝!!
2005-11-28 14:18:59 · 6 個解答 · 發問者 阿炮 1 in 電腦與網際網路 ➔ 軟體
a1,a2,a3 分別是1,2,3
b1,b2,b3 分別是2,3,4
要如何在c欄傳回a,b兩欄的交集或聯集
好像不能單純的使用and 或 or 函數耶
2005-11-29 03:27:02 · update #1
我寫了下列兩個函式給你參考看看聯集為 =MyUnion(A1:C1,A2:C2)交集為 =MyInterset(A1:C1,A2:C2)Public Function MyUnion(Target1 As Range, Target2 As Range) Dim Result(100) As Variant Dim Index As Integer Index = 0 Dim Repeat As Boolean For Each t1 In Target1 Repeat = False For i = 0 To Index - 1 If t1 = Result(i) Then Repeat = True Exit For End If Next i If Not Repeat Then Result(Index) = t1 Index = Index + 1 If Index = 100 Then MyUnion = "資料數超過 100 筆" Exit Function End If End If Next t1 For Each t2 In Target2 Repeat = False For i = 0 To Index - 1 If t2 = Result(i) Then Repeat = True Exit For End If Next i If Not Repeat Then Result(Index) = t2 Index = Index + 1 If Index = 100 Then MyUnion = "資料數超過 100 筆" Exit Function End If End If Next t2 MyUnion = "聯集 = " For i = 0 To Index - 1 MyUnion = MyUnion & Result(i) & " " Next i End FunctionPublic Function MyInterset(Target1 As Range, Target2 As Range) MyInterset = "交集 = " For Each t1 In Target1 For Each t2 In Target2 If t1 = t2 Then MyInterset = MyInterset & t1 & " " End If Next t2 Next t1 End Function
2005-12-01 09:09:32 補充:
還好投票者眼睛是雪亮的,不過黑名單又多一個人了
2005-12-02 15:38:49 補充:
我們之所以反感,是因為投票機制實在不怎麼樣,看過太多錯誤的答案卻高票當選的例子 (尤其是第一位回答者)
如果還有不清楚的地方,歡迎你再補充問題,我們知道的話一定會盡力回答的,而不是用投票讓問題就這樣莫名奇妙地結束,相信這樣也無法解決你的問題吧
若想使用上述的函式,可以使用下列的作法
工具 | 巨集 | Visual Basic 編輯器
然後再
插入 | 模組
將上述程式碼 Copy 過去就可以像一般函數一樣使用了
2005-11-29 05:42:32 · answer #1 · answered by ? 7 · 0⤊ 0⤋
我基本上很少回新手,
因為我不確定, 我的答案會不會被踩在地上
除非問的問題,很讓我手癢
2005-12-05 04:47:35 · answer #2 · answered by Anonymous · 0⤊ 0⤋
大家好,我是提問人,你們好像誤會我了
因為我沒有程式基礎,看不懂這位朋友寫的程式,所以想開放投票讓大家看看答案是否正確,我沒有別的意思
第一次使用Yahoo知識,有冒犯的地方請各位見諒!!
2005-12-01 15:09:14 · answer #3 · answered by 阿炮 1 · 0⤊ 0⤋
這個問題也被棄置嗎?為何又用投票的?
心寒!
2005-11-30 18:46:54 · answer #4 · answered by Elvin 6 · 0⤊ 0⤋
交集用and
聯集用or
2005-11-28 15:59:52 · answer #5 · answered by pingu 6 · 0⤊ 0⤋
函數and 和 or
通常是用在判斷式 if 中
如有範例可以說明可以看
2005-11-28 15:22:10 · answer #6 · answered by Anonymous · 0⤊ 0⤋