Как возобновить подсчет с ячейки в Google Sheets? - PullRequest
0 голосов
/ 19 октября 2019

У меня есть таблица со следующими тремя столбцами:

Col1   Col2    Col3
1      A       Cat
2      B       Dog
3      C       Lion
4      M       Deer
5      X       Cow
6      P       Orange

Теперь в другой ячейке я хочу скопировать значения из col3, если мое значение поиска соответствует значению col1. Предположим, что мое значение поиска равно 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 

к значению LookUp, поэтому выходные ячейки имеют формулу:

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.

Любые предложения о том, как подойти к этой проблеме

1 Ответ

0 голосов
/ 19 октября 2019

Для этого конкретного случая вы можете использовать комбинацию MOD и VLOOKUP:

=ArrayFormula(vlookup(mod(row(A1:C2)*3+column(A1:C2)+D2-5,6)+1,A2:C7,3,false))

enter image description here

Это довольно легко обобщить для разныхдиапазоны.

...