Excel. как добавить значение в таблицу?
3132
10
Capone
почетный тролль НГСа
Есть некая база в экселе.
Условно говоря, столбец с числами. (1)
Есть второй столбец (2), состоящий из части (не всех) чисел столбца (1). Каждому числу из столбца (2) соответствует некое значение, расположенное в соседней ячейке (3).
Необходимо перенести значения из ячеек (3) к столбцу (1) к тем же числам, что и во (2) столбце.
Это все, конечно, легко сделать вручную, но когда количество числе исчисляется десятками тысяч, то довольно утомительно.
Во вложении я отобразил, что есть в начале, и что должно получиться в конце.
Условно говоря, столбец с числами. (1)
Есть второй столбец (2), состоящий из части (не всех) чисел столбца (1). Каждому числу из столбца (2) соответствует некое значение, расположенное в соседней ячейке (3).
Необходимо перенести значения из ячеек (3) к столбцу (1) к тем же числам, что и во (2) столбце.
Это все, конечно, легко сделать вручную, но когда количество числе исчисляется десятками тысяч, то довольно утомительно.
Во вложении я отобразил, что есть в начале, и что должно получиться в конце.
1. Можно написать макрос на VBA (думаю, что даже у невладеющего VBA человека, но знакомого с программированием, уйдёт на это не больше пары часов).
2. Если столбец (2) не очень большой можно использовать конструкцию вида ЕСЛИ(A4=$C$4; $D$4; ЕСЛИ(A4=$C$5; $D$5; другие_если)) в каждой соседней ячейке
исследуемого столбца (в данном случае пример соседней клетки с a4).
3. Может ещё что-то можно), из меня знаток Экселя постольку-поскольку.
2. Если столбец (2) не очень большой можно использовать конструкцию вида ЕСЛИ(A4=$C$4; $D$4; ЕСЛИ(A4=$C$5; $D$5; другие_если)) в каждой соседней ячейке
исследуемого столбца (в данном случае пример соседней клетки с a4).
3. Может ещё что-то можно), из меня знаток Экселя постольку-поскольку.
вот с макросами как раз и не знаком
А такая формула не пойдет, поскольку (2) состоит из нескольких тысяч ячеек. И в формуле придется сравнивать значение с каждой из них.
А такая формула не пойдет, поскольку (2) состоит из нескольких тысяч ячеек. И в формуле придется сравнивать значение с каждой из них.
Пишите макрос, либо считывая два масива и сравнивая значения в них. Либо делаете последовательно сравнение в макросе
если бы я еще знал, как это делается (((((((
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 - Выполнить
'
' Макрос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 - Выполнить
Сейчас читают
Неделька пляжная
261005
888
Платяной шкаф. Прочтение правил - ОБЯЗАТЕЛЬНО
222742
996
Марафон стройности - 51
163918
997
Спасибо Мелкософту...
Это скомуниздено с их support-а, лень было самому шевелить извилинами.
Моя - тока инструкция по вставке-запуску
Это скомуниздено с их support-а, лень было самому шевелить извилинами.
Моя - тока инструкция по вставке-запуску
в примере в столбец B вставь это:
=ЕСЛИ(ЕОШИБКА(ВПР(A4;$C$4:$D$9;2;ЛОЖЬ));0;ВПР(A4;$C$4:$D$9;2;ЛОЖЬ))
=ЕСЛИ(ЕОШИБКА(ВПР(A4;$C$4:$D$9;2;ЛОЖЬ));0;ВПР(A4;$C$4:$D$9;2;ЛОЖЬ))
там 0 вставляется, если нет совпадений, а надо чтобы ничего не было.
кстати, в столбце (3) может быть значение 0.
кстати, в столбце (3) может быть значение 0.
=ЕСЛИ(ЕОШИБКА(ВПР(A4;$C$4:$D$9;2;ЛОЖЬ));"";ВПР(A4;$C$4:$D$9;2;ЛОЖЬ))