Страницы: 1
RSS
массовая подстановка значений в определенные ячейки по условию, Формула, pq, макрос.
 
Добрый день, в файле приложена таблица в которой заполнены первые 5 полей.
Где в колонке А идут цифры от 1 до 15 по порядку  
в колонке B-C-D-E идут данные которые нужно вставить в колонки начиная с колонки G но порядок нужно брать из колонки F На листе начальные данные вводятся данные которые всегда будут разными. только в колонке А всегда будет такой порядок, на листе итоговый вариант показано как должно получаться в конце. Пытался сделать через формулы, но в пустых ячейках пишется 0, что мне не подходит.
 
DJMC, ?
=ИНДЕКС($B$2:$E$16;$F2;СТОЛБЕЦ(A2))
 
Цитата
ПавелW написал:
DJMC , ?
Спасибо, идеально и так легко было.
 
Код
Option Explicit
Private Const SOURCE_RANGE = "B2:E16"
Private Const ROWS_RANGE = "F2:F16"
Private Const TARGET_RANGE = "G2"
Private Const BLOCK_ROWS_COUNT = 3

Sub MassCopy()
    Dim cTarget As Range
    Set cTarget = Range(TARGET_RANGE)
    
    Dim Application_Calculation As XlCalculation: Application_Calculation = Application.Calculation: Application.Calculation = xlCalculationManual
    
    Dim cRow As Range, step As Long
    For Each cRow In Range(ROWS_RANGE).Cells
        Range(SOURCE_RANGE).Rows(cRow.Value).Copy cTarget
        cRow.Copy cTarget.Columns(Range(SOURCE_RANGE).Columns.Count + 1)
        Set cTarget = cTarget.Cells(2, 1)
        step = step + 1
        If step = BLOCK_ROWS_COUNT Then
            step = 0
            Set cTarget = cTarget.Cells(1, Range(SOURCE_RANGE).Columns.Count + 1)
        End If
    Next
    
    Application.Calculation = Application_Calculation
End Sub
 
Здравствуйте!
Вариант с PQ (выделение с УФ)...в файле исходные данные перемешала, поэтому с Вашим результатом не совпадает,
Скрытый текст
Изменено: Ma_Ri - 10.03.2026 14:51:07 (комментарий по исходным данным)
Ma_Ri ≠ Мария
 
Добрый день, а если задачу не много усложнить, и данные расставлять с 1 по 15 значения, но по тройкам  которые указаны в столбце F

То есть в столбце А идут значения от 1 до 15 по порядку, в столбце F  я ввожу свой порядок от 1 до 15, но в любом порядке.

Нужно чтобы в столбце G заполнились данные из столбца F2-F3-F4 согласно порядка который указан в столбце А , так со всеми столбцами H-I-J и так далее? пример во вложении.
 
Код
=ЕСЛИ(ЕНД(ПОИСКПОЗ(СТРОКА(G1);$F$2:$F$4;0));"";B2)
 
МатросНаЗебре Спасибо, все идеально и быстро работает, не перестаю удивляться Вашим познаниям  ;)
 
почти тоже самое
=ЕСЛИ(СЧЁТЕСЛИ($F$2:$F$16;$A2);B2;"")
+УФ
Страницы: 1
Читают тему
Наверх