Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2568|回复: 4

[已解决]請問如何對照求和

[复制链接]
发表于 2017-6-27 22:33 | 显示全部楼层 |阅读模式
工作表1的A和B欄是原始數據,希望得到E和F欄的結果,其中要參照工作表2的對照,請問代碼要如何處理,若承蒙回復不勝感激


DICTIONARY-TEST.rar (7.85 KB, 下载次数: 17)
发表于 2017-6-28 08:45 | 显示全部楼层
  1. =SUMIF(A$1:A$10,INDEX(工作表2!A$1:A$6,MATCH(E1,工作表2!B$1:B$6,)),B$1)
复制代码
F1写入后下拉
回复

使用道具 举报

发表于 2017-6-28 11:13 | 显示全部楼层    本楼为最佳答案   
idno朋友这段时间在钻研字典,我就用字典做一个吧。
  1. Sub aaa()
  2. Dim arr, i&, d As Object, brr, r&
  3. Set d = CreateObject("scripting.dictionary")
  4. arr = Sheets(2).[a1].CurrentRegion
  5. For i = 1 To UBound(arr)
  6.   d(arr(i, 1)) = arr(i, 2)
  7. Next i
  8. arr = Sheets(1).[a1].CurrentRegion
  9. ReDim brr(1 To UBound(arr), 1 To 2)
  10. For i = 1 To UBound(arr)
  11.   If Not IsNumeric(d(arr(i, 1))) Then
  12.     r = r + 1
  13.     brr(r, 1) = d(arr(i, 1))
  14.     d(arr(i, 1)) = r
  15.   End If
  16.   brr(d(arr(i, 1)), 2) = brr(d(arr(i, 1)), 2) + arr(i, 2)
  17. Next i
  18. [e1].Resize(r, 2) = brr
  19. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2017-6-28 15:35 | 显示全部楼层
大灰狼兄,你自學的功力真的讓我欽佩萬分,因為你使用的方法和方式,我第一時間大概都是有看沒有懂耶,,真的不知道要到哪一天才有你的百分之一,這百分之一應該是我現在的目標
回复

使用道具 举报

 楼主| 发表于 2017-6-28 15:38 | 显示全部楼层
蘇大哥,您的公式很管用,不過我要的是E和F列一起出現,真的感謝您的公式,又學到一個,感激
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 13:42 , Processed in 0.358675 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表