Excel. как добавить значение в таблицу?
3079
10
Есть некая база в экселе.
Условно говоря, столбец с числами. (1)

Есть второй столбец (2), состоящий из части (не всех) чисел столбца (1). Каждому числу из столбца (2) соответствует некое значение, расположенное в соседней ячейке (3).

Необходимо перенести значения из ячеек (3) к столбцу (1) к тем же числам, что и во (2) столбце.
Это все, конечно, легко сделать вручную, но когда количество числе исчисляется десятками тысяч, то довольно утомительно.
Во вложении я отобразил, что есть в начале, и что должно получиться в конце.
Capone
1. Можно написать макрос на VBA (думаю, что даже у невладеющего VBA человека, но знакомого с программированием, уйдёт на это не больше пары часов).
2. Если столбец (2) не очень большой можно использовать конструкцию вида ЕСЛИ(A4=$C$4; $D$4; ЕСЛИ(A4=$C$5; $D$5; другие_если)) в каждой соседней ячейке
исследуемого столбца (в данном случае пример соседней клетки с a4).
3. Может ещё что-то можно), из меня знаток Экселя постольку-поскольку.
RealWega
вот с макросами как раз и не знаком :хммм:
А такая формула не пойдет, поскольку (2) состоит из нескольких тысяч ячеек. И в формуле придется сравнивать значение с каждой из них.
Capone
Пишите макрос, либо считывая два масива и сравнивая значения в них. Либо делаете последовательно сравнение в макросе
gde_mon
если бы я еще знал, как это делается (((((((
Capone
Sub Макрос1()
'
' Макрос1 Макрос
' Макрос записан 20.11.2007
'

'
Dim CompareRange As Variant, x As Variant, y As Variant
' Назначьте переменной CompareRange диапазон, с которым
' нужно сравнить выделенный диапазон.
Set CompareRange = Range("C4:C9")
For Each x In Selection
For Each y In CompareRange
If x = y Then x.Offset(0, 1) = y.Offset(0, 1)
Next y
Next x
End Sub




Записываем макрос в книгу:
Alt+F11
Меню Insert - Module
Вставляем туды макрос.
Закрываем окно VBA
Записываем файл
Выделяем мышкой первый диапазон (1)
Меню - Сервис - Макрос - Макросы
Макрос1 - Выполнить
aglow
шаман!!!

спасибо :bottle: :pivo: :present: :respect:
Capone
Спасибо Мелкософту...
Это скомуниздено с их support-а, лень было самому шевелить извилинами.
Моя - тока инструкция по вставке-запуску:улыб:
aglow
в примере в столбец B вставь это:
=ЕСЛИ(ЕОШИБКА(ВПР(A4;$C$4:$D$9;2;ЛОЖЬ));0;ВПР(A4;$C$4:$D$9;2;ЛОЖЬ))
uznik
там 0 вставляется, если нет совпадений, а надо чтобы ничего не было.
кстати, в столбце (3) может быть значение 0.
Capone
=ЕСЛИ(ЕОШИБКА(ВПР(A4;$C$4:$D$9;2;ЛОЖЬ));"";ВПР(A4;$C$4:$D$9;2;ЛОЖЬ))