将两行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))))

复制下来,直到你开始得到空白的结果。

问候