Слияние Данных Из Нескольких Столбцов - Результаты SharePoint Survery

Я использую SharePoint для сбора данных с помощью функции опроса. Однако я хочу сделать выходные данные более управляемыми. Поэтому я хочу взять несколько столбцов и объединить их в несколько.

В настоящее время это выглядит так:

Name 1  Address 1  Age 1 Name 2 Address 2 Age 2 Name 3 Address 3 Age 3 Date

John    My Home   50 Mary Your Home 40 James Our Home 70 01/31/1991 

Я хочу, чтобы это выглядеть так:

**Name Address Age Date** 

John My Home 50  01/31/1991 

Mary Your Home 40 01/31/1991

James Our Home 70 01/31/1991

обзор постоянно обновляется, поэтому в идеале макрос / vba, который извлекает данные из одного листа и создает его таким образом, было бы лучше.

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

и последнее, но не менее важное: в ячейках есть другие данные, с другими шагами, которые я, вероятно, добавлю в макрос, но это основная часть шагов, которые я не мог понять.

спасибо заранее за вашу помощь !

похожий запрос (кажется):в Excel 2010 перенести данные из нескольких столбцов/строк в одну строку

7
задан Community
29.11.2022 11:21 Количество просмотров материала 3376
Распечатать страницу

1 ответ

есть простой способ сделать это без VBA, просто используя ссылки на ячейки. Похоже, ваш пример "источника" использует столбцы A:J, и я предполагаю, что есть заголовки столбцов, поэтому данные начинаются со строки 2. Я предполагаю, что ваш выходной лист также имеет заголовки столбцов, а результаты начинаются со строки 2 и используют столбцы A:D. формулы ниже основаны на этом макете, поэтому вам может потребоваться настроить другой макет или просто поместить данные в эти местоположения. Итак, вот источник данные:

Source

результат выглядит так:

Result

все это использует "11/2" формул. Поскольку на дату ссылаются из одного и того же места для трех строк, это немного измененная версия основной формулы. Основная формула такова:

=INDIRECT("sheet1!r"&CEILING((ROW()-1)/3,1, )+1&"c"&COLUMN()+MOD((ROW()+1)/3,1)*9,0)

вы можете ввести его в A2 и скопировать в столбцы B и C, и скопировать его вниз, чтобы предварительно заполнить столько строк, сколько вам нужно. Когда вам нужно больше, просто предварительно заполнить произвольное количество дополнительных строк.

он использует косвенную функцию для создания ссылок на ячейки из вычисляемых значений. Я использую адреса в стиле R1C1, потому что они поддаются таким вычислениям. Вычисление строки создает ссылку на одну и ту же исходную строку для трех выходных строк. Вычисление столбца перемещается по трем исходным столбцам для каждого последующего результата ряд.

столбец даты просто фиксирует ссылку столбца на столбец 10 источника:

=INDIRECT("sheet1!r"&CEILING((ROW()-1)/3,1, )+1&"c10",0)

это производит вывод 0 для пустых ячеек. Самый простой способ скрыть это-не отображать нулевые значения в представлении страницы. Я сделал это здесь. Формулу подставляется в строках за Берт. Он также будет скрывать отдельные пустые ячейки.

0
отвечен fixer1234 2022-11-30 19:09

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

macros
merge
microsoft-excel
sharepoint
vba
Вверх