У меня есть 1 длинный столбец в листе Excel. Я хочу разделить этот 1 столбец на несколько столбцов.

Разделение на несколько столбцов должно происходить после каждых 10 записей. Поэтому, если в моем исходном столбце всего 80 ячеек, я хочу, чтобы они были разбиты на 8 столбцов, каждый из которых имеет 10 ячеек.

Я не очень разбираюсь в VBA, поэтому я не смогу следовать подсказкам, но я мог бы изменить пример кода.

Мой вопрос начинается сейчас

Я искал SU и нашел эту тему Как разделить один столбец в Excel на несколько столбцов по 55 строк

Имеет следующую команду

=INDIRECT("Sheet1!R" & (COLUMN()-1)*55+MOD(ROW()-1,55)+1 & "C1", FALSE)

Я изменил это

=INDIRECT("Sheet1!R" & (COLUMN()-1)*10+MOD(ROW()-1,10)+1 & "C1", FALSE)

Я понимаю, что первый параметр INDIRECT должен быть источником, из которого я хочу выбрать значение, поэтому он должен иметь формат "Sheet1!RnnnCnnn ", где 'nnn' - номера строк и столбцов.

Может кто-нибудь объяснить, пожалуйста, что происходит в следующем:

"Sheet1!R" & (COLUMN()-1)*10+MOD(ROW()-1,10)+1 & "C1"

Благодарю.

1 ответ1

1

"Sheet1!R" & (COLUMN()-1)*10+MOD(ROW()-1,10)+1 & "C1"
Лист1 для чтения из листа1 R & (column () - 1) * 10 - это ссылка для чтения, в какой строке исходного столбца должен быть указан столбец, в котором формула равна -1, умноженная на 10 плюс остаток от деления на 10 от номера строки, если ваша формула находится в строке 1 столбца 2 на новом листе, она должна выглядеть следующим образом:
Лист1!R (2-1) * 10+Mod (1-1,10)+1 и C1
=Sheet1!R11C1
это означает чтение значения в строке 11 в столбце 1 листа 1, и когда вы перетащите формулу вниз 10 раз, будет прочитано следующее значение (следующая строка) в том же столбце листа 1, и всякий раз, когда вы достигнете строки 10, вы должны перейти к следующий столбец в первой строке и снова напишите ту же формулу.
Обратите внимание, что C1 является фиксированной, потому что вы читаете из первого столбца, но строка движется, поэтому ее необходимо вычислить таким образом, чтобы ее можно было разделить на 10, поэтому вся эта формула состоит в том, чтобы вычислить, какую строку читать из первого столбец листа 1, и это зависит от столбца, где формула.
Функция Excel MOD
возвращает остаток от деления между двумя предоставленными числами. Синтаксис функции MOD :MOD( number, divisor )
где аргументы следующие:
число - число, которое будет разделено.
делитель - значение, на которое делится числовой аргумент.

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