#excel #vba #excel-formula
#Excel #vba #Excel-формула
Вопрос:
Я пытаюсь извлечь значения из предыдущих строк на основе значения, которое указано в следующих столбцах.
Как и в следующем примере (пояснительное изображение таблицы), в ячейке A2 значение ячейки равно 10 (выделено зеленым цветом), соответствующее значение в ячейке D2 равно 3 (выделено красным цветом), поэтому значение, требуемое в ячейках E2, E3 и E4, представляет собой значения ячеек A3, A4 и A5, которые являются A-1111, B-2222, C-3333 после удаления текста «SLR #» соответственно. И в случае ячейки A6 соответствующее значение в ячейке D6 равно 2, поэтому требуемое значение в ячейках E6 и E7 будет D-4444 и E-5555.
Непрерывные данные, подобные этому, и формула или код VBA будут соответствовать моим требованиям в столбце E. Пожалуйста, дайте мне знать, если вам нужны дополнительные разъяснения. Заранее спасибо…
Пояснительная таблица:
Я попробовал следующую пользовательскую функцию, но она выдает мне все значения в одной ячейке, а не в следующей ячейке. (Спасибо Mr. Fluff за этот UDF)
Function UDF(Rng As Range, Rws As Long) As String
Dim i As Long
Dim Cl As Range
For Each Cl In Rng
If Left(Cl, 4) = "SLR#" Then
UDf = UDF amp; Cl.Value
i = i 1
If i = Rws Then Exit For
End If
Next Cl
UDF = Trim(Replace(fiberboysa, "SLR#", ""))
End Function
Ответ №1:
Я мог бы упростить это, но если данные ВСЕГДА структурированы таким образом, попробуйте эту формулу…
=IF(D3<>"","",IF(ISBLANK(A3),"",A3))
… скопируйте это в ячейку E2 и заполните.
Я рад, если это не поможет вам, но это сработало с простым примером, который вы привели.
Комментарии:
1. Он работает только один раз. Например, если в столбце D есть 3, это приведет только к одному значению из столбца A, но мне нужно 3 текущих значения в столбце E.
2. @Accounts-Loves-Code, и вы заполнили формулу? Если это работает только один раз, я предполагаю, что вы никогда не заполняли его. Я обновил свой ответ скриншотом, показывающим, что он работает. Если это не делает это для вас, то я явно чего-то не хватает. Мне нужно было бы увидеть результат, о котором вы говорите, когда вы применяете mt answer.
3. Ага!!! Готово. На самом деле мои данные очень большие, поэтому я добавил еще несколько IFS, поэтому они не работали. Я исправил это, и теперь оно работает. Еще раз спасибо, дорогой!!!