将两行string按特定顺序组合使用公式
我在表格中有一列:
Barbie HeMan Superman Batman
另一张表中的另一列如下所示:
Madrid Barcelona Athens London Timbuktu
我需要输出如下(最好是两列,或者空格分隔):
Barbie Madrid Barbie Barcelona Barbie Athens Barbie London Barbie Timbuktu HeMan Madrid HeMan Barcelona HeMan Athens HeMan London HeMan Timbuktu
这怎么能使用Excel公式来完成?
该解决scheme假定如下:
-
具有“超级英雄”的数据位于
B6:B9
Sheet1
中(根据需要调整公式中的范围) -
带有“城市”的数据位于
B6:B10
Sheet2
中(根据需要在公式中调整范围) -
合并的数据位于从
B6
开始的Sheet3
中(根据需要在公式中调整范围)
在B6
Sheet3
中input该公式并复制到最后一个logging(即B31
)
=IFERROR( INDEX( Sheet1!$B$6:$B$9, ROUNDUP( ROWS( B$6:B6 ) / ROWS( Sheet2!$B$6:$B$10 ), 0 ) ), "" )
并在C6
中的Sheet3
中将该公式复制到最后一个logging(即C31
)
=IF( EXACT( B6, "" ), "", INDEX( Sheet2!$B$6:$B$10, 1 + MOD( -1 + ROWS( C$6:C6 ), ROWS( Sheet2!$B$6:$B$10 ) ) ) )
假设第一个和第二个列表分别位于Sheet1和Sheet2的A列中,并且除了希望返回的数据之外,在这些列中没有其他条目,那么在工作表的A1单元格中,结果:
=IF(ROWS($1:1)>COUNTA(Sheet2!A:A)*COUNTA(Sheet1!A:A),"",INDEX(Sheet1!A:A,CEILING(ROWS($1:1)/COUNTA(Sheet2!A:A),1)))
而在B1:
=IF(A1="","",INDEX(Sheet2!A:A,1+MOD(ROWS($1:1)-1,COUNTA(Sheet2!A:A))))
复制下来,直到你开始得到空白的结果。
问候