Google sheets 如何从谷歌表格中的一个单元格重新开始计数?
我有一个包含以下三列的表:Google sheets 如何从谷歌表格中的一个单元格重新开始计数?,google-sheets,google-sheets-formula,gs-vlookup,Google Sheets,Google Sheets Formula,Gs Vlookup,我有一个包含以下三列的表: Col1 Col2 Col3 1 A Cat 2 B Dog 3 C Lion 4 M Deer 5 X Cow 6 P Orange 现在在另一个单元格中,如果我的查找值与col1值匹配,我想从col3复制值。假设我的查找值为1,则应复制Cat,然后在连续列中复制所有其他值 If Lookup Value -> 1,
Col1 Col2 Col3
1 A Cat
2 B Dog
3 C Lion
4 M Deer
5 X Cow
6 P Orange
现在在另一个单元格中,如果我的查找值与col1值匹配,我想从col3复制值。假设我的查找值为1,则应复制Cat,然后在连续列中复制所有其他值
If Lookup Value -> 1, then the output should be
grp1 grp2 grp3
Cat Dog Lion
Deer Cow Orange
If lookup value -> 3, then the output should be
grp1 grp2 grp3
Lion Deer Cow
Orange Cat Dog
所以这是一种从原始表中循环复制
我试着用vlookup公式
vlookup(lookup_val,$Col1_Row1$Col3_Row6,3,FALSE)
并通过添加以下内容将其复制到所有输出单元格:
Col_number + Row_number - 1
设置为查找值,使输出单元格具有以下公式:
grp1 vlookup(lookup_val,$C1_R1$C3_R6,3,FALSE) vlookup(lookup_val+3,$C1_R1$C3_R6,3,FALSE)
grp2 vlookup(lookup_val+1,$C1_R1$C3_R6,3,FALSE) vlookup(lookup_val+4,$C1_R1$C3_R6,3,FALSE)
grp3 vlookup(lookup_val+2,$C1_R1$C3_R6,3,FALSE) vlookup(lookup_val+5,$C1_R1$C3_R6,3,FALSE)
但这不起作用,因为一旦查找值大于1,由于后续单元格中的查找值加起来超过6,公式就会出错
关于如何解决这个问题有什么建议吗?对于这个特殊情况,您可以使用MOD和VLOOKUP的组合:
=ArrayFormula(vlookup(mod(row(A1:C2)*3+column(A1:C2)+D2-5,6)+1,A2:C7,3,false))
将其推广到不同大小的范围是相当容易的。您是否想过设置一个条件
=如果…
来避免它?请选择您的应用程序,它是Excel或Google Sheets。虽然两者有一些相似之处,但在很多方面都不同。@DavidGarcíaBodego将如何使用=IF help,因为它将检查错误,但如果条件不满足,它不会复制我想要的值?@JvdV改为google sheets。在您的情况下,VBA的解决方案将很简单,但由于您正在寻找直接公式,在索引超出范围的情况下,您需要另一个公式(如果需要),或者只是循环数据。