A列中的10个值,B列中的4个,40个独特的输出?

我一直在努力获得40个独特的输出。 我已经截图了我基本上想要的东西。

截图:

从Excel的屏幕截图

我一直在使用INDIRECTCEILING命令,但不能得到任何工作。 有人可以请帮助和解释?

这工作:

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

它使用CEILING和四个分区来重复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)) 

我不确定是否有方法使用公式来做到这一点。 试试这个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 

这假定你的第一个variables列表是在第1行的第A列开始的,没有间隔,而第二个variables列表是从第1行开始的B列,没有间隙。 它循环遍历这些范围中的所有值 – 列A值的外部循环和列B值的内部循环。 从第1行开始,每个唯一的组合被input到D列。

我做了一些试验,看看能不能找出一个公式……最终我放弃了,在Tusharm提供的MrExcel上find了这个解决scheme 。 他的职位是第三个下降; 他说要把它粘贴到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))