標題:
[發問]
EXCEL兩筆資料的比對與轉置
[打印本頁]
作者:
cosplay123
時間:
2012-3-11 23:15
標題:
EXCEL兩筆資料的比對與轉置
如果我有兩筆資料 :"引用" 跟 "被引用"
我要對比兩筆的資料 用轉置矩陣的形式表示
兩個有關的就顯示"1" 無關顯示"0"
EX:
86 S.Ct. 684 138 F.3d 1448 106 S.Ct. 2505 52 F.3d 967 116 S.Ct. 1384 70 S.Ct. 854 90 F.3d 1576 117 S.Ct. 1040 71 S.Ct. 127 775 F.2d 1107
1 F.3d 1253(1) 0 0 0 0 0 0 0 0 0 1
1 F.3d 1253(2) 0 0 0 0 0 0 0 0 0 1
因為我之前都用手動慢慢KEY 不過資料有時候超過一萬筆我就暈了QQ
拜託各位大大幫幫我><
作者:
hugh0620
時間:
2012-3-12 11:56
樓主~ 你舉例的例子有些不清楚~
1 F.3d 1253(1)
1 F.3d 1253(2)
是有相關的~
但~ 沒有說明~
如果有相關要將相關的
1. 放在哪一個欄位 (沒有提供一個key~ 怎麼放呢?? 還是全部放在同一個欄位內)
2. 怎麼表示相關的 (就顯示1嘛??)
作者:
hugh0620
時間:
2012-3-12 12:08
回復
1#
cosplay123
提供一個笨的方式
希望你看的懂~
[attach]9943[/attach]
作者:
cosplay123
時間:
2012-3-12 21:32
EX:
引用 被引用 e f a g
a e a 1 0 0 0
b f b 0 1 0 0
c a c 0 0 1 0
d e d 1 0 0 0
不知道這樣大大看得懂嗎><
作者:
cosplay123
時間:
2012-3-12 21:32
EX:
引用 被引用 e f a g
a e a 1 0 0 0
b f b 0 1 0 0
c a c 0 0 1 0
d e d 1 0 0 0
不知道這樣大大看得懂嗎><
作者:
Hsieh
時間:
2012-3-12 22:12
回復
5#
cosplay123
重點是資料的關聯如何判斷?
請上傳簡單範例說明
作者:
XDshining
時間:
2012-3-12 23:04
A欄位 B欄位
引用 被引用 | z y x w
1 a z | a 1 0 1 0
2 b z | b 1 0 0 1
3 c y | c 0 1 0 0
4 d y | d 0 1 0 0
5 a x | f 0 0 1 0
6 f x | x 0 0 0 1
7 x w |
8 b w |
原始資料的A欄位與B欄位下的資料本身就有關係,因為是從資料庫裡調出來的資料。
因此不需判斷之間的關係,二者之間的關係即為:A引用B;B被A引用。
想將原始的AB欄位關係轉換成矩陣的型態。
不知道這個例子夠不夠清楚?:-)
作者:
register313
時間:
2012-3-12 23:34
回復
5#
cosplay123
回復
7#
XDshining
E2=SUMPRODUCT(($A$2:$A$9=$D2)*($B$2:$B$9=E$1))
[attach]9958[/attach]
作者:
Hsieh
時間:
2012-3-12 23:39
本帖最後由 Hsieh 於 2012-3-13 00:13 編輯
回復
7#
XDshining
D2陣列公式
=IF(ROW(A1)>SUM(1/COUNTIF($A$2:$A$9,$A$2:$A$9)),"",INDEX($A:$A,MIN(IF(ISERROR(MATCH($A$2:$A$9,$D$1:D1,0)),ROW($A$2:$A$9),"")),))
向下複製
E1陣列公式
=IF(COLUMN(A$1)>SUM(1/COUNTIF($B$2:$B$9,$B$2:$B$9)),"",INDEX($B:$B,MIN(IF(ISERROR(MATCH($B$2:$B$9,$D$1:D$1,0)),ROW($B$2:$B$9),""))))
向右複製
E2=(SUMPRODUCT(($A$2:$A$9&$B$2:$B$9=$D2&E$1)*1)>0)*1
向右向下複製
[attach]9959[/attach]
VBA
Sub ex()
Set d = CreateObject("Scripting.Dictionary")
Set d1 = CreateObject("Scripting.Dictionary")
Set d3 = CreateObject("Scripting.Dictionary")
For Each a In Range([A2], [A65536].End(3))
d(a & a.Offset(, 1)) = a & a.Offset(, 1)
d1(a & "") = ""
d3(a.Offset(, 1) & "") = ""
Next
[d2].Resize(d1.Count, 1).Value = Application.Transpose(d1.keys)
[E1].Resize(, d3.Count) = d3.keys
For i = 2 To d1.Count + 1
For j = 5 To d3.Count + 4
Cells(i, j) = d.exists(Cells(i, 4) & Cells(1, j)) * (-1)
Next
Next
End Sub
複製代碼
作者:
XDshining
時間:
2012-3-13 01:51
回復
8#
register313
[attach]9961[/attach] 用公式整理的矩陣
[attach]9962[/attach] 以前用手動整理的矩陣
可以發現公式整理的矩陣會有重複的現象,
不知道有沒有小工具可以在整理矩陣的同時將重複的資料去除掉?
作者:
register313
時間:
2012-3-13 11:05
回復
10#
XDshining
Hsieh超版9樓提供的3個公式不就是,還有程式
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)