Excel精英培训网

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

[已解决]求助,怎么交叉引用数据-->amulee转移

[复制链接]
发表于 2010-6-28 11:49 | 显示全部楼层 |阅读模式

G3deS7UW.rar (8.68 KB, 下载次数: 0)

发表于 2010-6-28 12:05 | 显示全部楼层

Private Sub Worksheet_Change(ByVal Target As Range)
Dim arr, i%, k%, d
Set d = CreateObject("scripting.Dictionary")
arr = Range("a1:k9")
If Target.Count > 1 Then End
If Target.Address = "$A$12" Or Target.Address = "$B$12" Then
    If Len([b12]) And Len([a12]) Then
        For i = 2 To UBound(arr)
            For k = 2 To UBound(arr, 2)
                d(arr(1, k) & arr(i, 1)) = arr(i, k)
            Next
        Next
    End If
End If
Application.EnableEvents = False
[c12] = d([a12].Value) & d([b12].Value)
Application.EnableEvents = True
Set d = Nothing
End Sub
[此贴子已经被作者于2010-6-28 12:07:00编辑过]
回复

使用道具 举报

发表于 2010-6-28 12:35 | 显示全部楼层    本楼为最佳答案   

=INDEX(B2:K9,RIGHT(A12),MATCH(LEFT(A12),B1:K1,))&INDEX(B2:K9,RIGHT(B12),MATCH(LEFT(B12),B1:K1,))
回复

使用道具 举报

发表于 2010-6-28 12:39 | 显示全部楼层

学习!

回复

使用道具 举报

 楼主| 发表于 2010-6-28 14:09 | 显示全部楼层

我想问一下,公式里的“——”是做什么用的呢?

=MATCH(LEFT(A12),B1:K1)这个公式这么写得出的结果是3,

但如果写成=MATCH(A12,B1:K1)为什么结果就成4了呢?他们不都是引用一个单元格的数据吗

回复

使用道具 举报

发表于 2010-6-28 14:23 | 显示全部楼层

要取最左边的字母嘛,所以用Left咯
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-16 16:04 , Processed in 0.250376 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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