1

Как я могу скопировать значения в ячейку дважды в другом столбце?
Значения находятся в столбце A, и я хочу, чтобы они были скопированы в столбец B, например так:

A B
0 0
1 0
2 1
3 1
  2
  2
  3
  3

и т. д. и т. д.

РЕДАКТИРОВАТЬ: я видел, что это выглядит по-другому, когда вопрос опубликован, поэтому я добавил фото.

1 ответ1

2

Ваш список находится в столбце A и скажите, что в C1 и далее вы хотите каждую запись дважды. Поместите следующую формулу в C1 и перетащите ее вниз, пока не потребуется.

=INDEX($A$1:$A$10,INT(ROW()-ROW($A2)/2)+1)

Обновить

Чтобы решить эту проблему, вам нужно использовать функцию INDEX на верхнем уровне, чтобы получить желаемое значение ячейки из столбца A. Однако, чтобы повторить каждое значение ячейки дважды, вам нужно придумать последовательность, такую как 1 1 2 2 3 3 и так далее, и применить его в функции INDEX при увеличении каждой ячейки в выходном столбце.

Начиная с числа 2, т. =ROW($A2) в качестве начальной ссылки вы сначала генерируете последовательность с шагом 0,5, используя =ROW()-ROW($A2)/2+1 .

Теперь у вас есть 1 1,5 2 2,5 3 3,5 и так далее. Все, что вам сейчас нужно, это функция INT для удаления дроби, и у вас есть требуемая последовательность как 1 1 2 2 3 3 и так далее.

Все это вместе становится =INDEX($A$1:$A$10,INT(ROW()-ROW($A2)/2)+1) как в C1.

Ниже скриншот может помочь в дальнейшем понимании.

Однако, если ваш список начинается, скажем, с А4, то есть строки 4, тогда формула немного изменится. Функция row() получения нужной последовательности должна быть

=INT((ROW()-ROW($A$4))/2+1) 

И более плавная формула, которая должна работать независимо от номера строки, была бы

=INDEX($A$1:$A$10,INT((ROW()-ROW($A$1))/2+1))

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .