EXCEL公式根据条件返回数值

A 1 a 1
B 2 b 1
C 3 c 4
D 4 d 4
E 5 e 2
F 6 f 3
G 7 g 3
H 8 h 4
I 9 i 5
J 10 j 11
K 11 k 4
L 12 l 10
四列别分对应ABCD列,就想如果B和D列的数字相同,能在另一张表上面返回一个A列和C列的组合,比如A_a,A_b,D_d,D_h,这个用什么能实现
B1列和D列的每一个数字都进行一次对比。然后返回一个数字,不是只是对比同一行。然后返回A列和C列的所有可能出现的组合。

第1个回答  2018-08-28

这样吗?:=IF(B1=D1,A1&"_"&C1,"") 下拉

追问

你这个只有同一行对比,不够。需要B1和D列的所有都对比一下。

追答

你要的结果是不是这样子,VBA写的要不要?

追问

能给发一下EXCEL吗?我只是突然想到这个问题,想解决一下。

第2个回答  2018-08-28
这个是组合题
尊重劳动,看我信息加我吧,写代码可减轻你劳动。
A_a
A_b
B_e
C_f
C_g
D_c
D_d
D_h
D_k
E_i
J_l
K_j追问

是我要的结果。我就是遇到了这样的问题,寻求一下帮助。顺便学一下,所以在百度问问。有好心人帮忙解决了就好。没法解决就算了。

追答Sub 组合()
 Dim Arr, Brr, i&, j&, k&
 Arr = [a1:b12]
 Brr = [c1:d12]
 For i = 1 To UBound(Arr)
  For j = 1 To UBound(Brr)
   If Arr(i, 2) = Brr(j, 2) Then
    k = k + 1: Cells(k, "G") = Arr(i, 1) & "_" & Brr(j, 1)
   End If
  Next j
 Next i
End Sub

Cells(k, "G")这个输出位置自己随意更改!

追问

谢谢,就是跑到70多行的时候直接不继续想下跑了。我有几百行的数据。如果组合下来,估计能跑几千行。需要改那个变量吗?

追答

直接改两个 【】的区域就好了。

追问

改了数字,发现多了以后就出现这种情况。可能已经跑完了数据,但是就是不停止下来。还会一直弹这个窗口。

追答

我这个代码跟这个提示没关系,你不要瞎弄!

本回答被提问者采纳
第3个回答  2019-07-09

Excel排列组合工具,如下图:

地址: ,点击: 

一键出排列组合的Excel

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网