Я хотел бы пойти отсюда:

Сюда:

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

1 ответ1

0

(Личное примечание: никогда, но НИКОГДА не организуйте вещи, как вы делали в начале. Разработанные мной функции невероятно безобразны и ни в коем случае не практичны и не оптимизированы. Вы были предупреждены).

Отступая в сторону, OFFSET и INDEX - полезные функции, хотя я должен был бы использовать еще более запутанный способ получения необходимых значений. Вот мое решение. Я предполагаю, что 2-й рисунок - это другой лист (и что первый лист называется Sheet1. Итак, для формул в Sheet2:

  • A2:

    =IF(MOD(ROW(A2)-2;4)=0;INDIRECT(ADDRESS(FLOOR((ROW(A2)-2)/4;0)+2;1;;;"Sheet1"));INDIRECT(ADDRESS(FLOOR((ROW(A2)-2)/4;0)+2;9+MOD(ROW(A2)-3;4)*2;;;"Sheet1")))
    
  • Би 2

    =IF(MOD(ROW(B2)-2;4)=0;INDIRECT(ADDRESS(FLOOR((ROW(B2)-2)/4;0)+2;2;;;"Sheet1"));INDIRECT(ADDRESS(FLOOR((ROW(B2)-2)/4;0)+2;10+MOD(ROW(B2)-3;4)*2;;;"Sheet1")))
    
  • С2

    =INDIRECT(ADDRESS(FLOOR((ROW(C2)-2)/4;0)+2;3;;;"Sheet1"))
    
  • D2

    =INDIRECT(ADDRESS(FLOOR((ROW(C2)-2)/4;0)+2;4;;;"Sheet1"))
    
  • E2

    =INDIRECT(ADDRESS(FLOOR((ROW(C2)-2)/4;0)+2;6;;;"Sheet1"))
    
  • F2

    =INDIRECT(ADDRESS(FLOOR((ROW(C2)-2)/4;0)+2;7;;;"Sheet1"))
    
  • G2

    =INDIRECT(ADDRESS(FLOOR((ROW(C2)-2)/4;0)+2;8;;;"Sheet1"))
    

После ввода формул выберите строку 2 и перетащите ее вниз. Это должно работать (как я это проверял). Я (в настоящее время) не в настроении объяснять каждую деталь функций, но они зависят от очень простых математических операций, которые в конечном итоге отображают строки в Sheet2 в правильные столбцы в Sheet1 .

1 - пользуюсь ; в качестве разделителя аргументов, что связано с региональной настройкой. Переформатирую позже.

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