A列中有10个值,B列中有4个,40个唯一输出?

时间:2014-05-17 22:07:59

标签: excel formulas

我一直试图获得40个独特的输出。我已经截取了我基本上想要了解的内容。

截图:

Screenshot from Excel

我一直在使用INDIRECTCEILING命令,但无法正常工作。 请有人请帮忙解释一下吗?

3 个答案:

答案 0 :(得分:1)

我不确定是否有办法用公式做到这一点。试试这个vba为初学者:

Dim listA As Range
Dim listB As Range

Set listA = Range("A1", Range("A1").End(xlDown))
Set listB = Range("B1", Range("B1").End(xlDown))

y = 1

For Each cellA In listA
    For Each cellB In listB
        Cells(y, 4).Value = "blah " & cellA.Value & ", blah " & cellB.Value
        y = y + 1
    Next
Next

这假设您的第一个变量列表位于第1行的第A列,没有间隙,第二个变量列表位于第B行的第B列,没有间隙。它循环遍历这些范围内的所有值 - 列A值的外部循环和列B值的内部循环。每个唯一组合从第1行开始输入D列。

答案 1 :(得分:1)

这有效:

="the brown " & INDEX(A:A,CEILING(ROW()/4,1)) & " jumped over the "& INDEX(B:B,(MOD(ROW()-1,4)+1))

它使用CEILING以及除以4来重复A列中的每个项目4次。它使用MOD循环显示四个数字。

您可以使用COUNTA来概括它以使用多个值在B列中:

="the brown " & INDEX(A:A,CEILING(ROW()/COUNTA(B:B),1)) & " jumped over the "& INDEX(B:B,(MOD(ROW()-1,COUNTA(B:B))+1))

答案 2 :(得分:0)

我做了一些实验,看看我是否能找到一个公式...最终我放弃了,并在MrExcel上找到this solution,由 Tusharm 提供。他的职位是第三名;他说把它粘贴到F1并复制下来,直到你得到空白结果。

=IF(ROW()-ROW($F$1)+1>COUNTA(A:A)*COUNTA(B:B),"",INDEX(A:A,INT((ROW()-ROW($F$1))/COUNTA(B:B)+1))&INDEX(B:B,MOD(ROW()-ROW($F$1),COUNTA(B:B))+1))