Погода: −2 °C
12.10−2...0пасмурно, без осадков
13.10−4...2ясная погода, без осадков
  • Есть некая база в экселе.
    Условно говоря, столбец с числами. (1)

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

    Необходимо перенести значения из ячеек (3) к столбцу (1) к тем же числам, что и во (2) столбце.
    Это все, конечно, легко сделать вручную, но когда количество числе исчисляется десятками тысяч, то довольно утомительно.
    Во вложении я отобразил, что есть в начале, и что должно получиться в конце.

    We will troll you!!!

  • 1. Можно написать макрос на VBA (думаю, что даже у невладеющего VBA человека, но знакомого с программированием, уйдёт на это не больше пары часов).
    2. Если столбец (2) не очень большой можно использовать конструкцию вида ЕСЛИ(A4=$C$4; $D$4; ЕСЛИ(A4=$C$5; $D$5; другие_если)) в каждой соседней ячейке
    исследуемого столбца (в данном случае пример соседней клетки с a4).
    3. Может ещё что-то можно), из меня знаток Экселя постольку-поскольку.

  • вот с макросами как раз и не знаком :хммм:
    А такая формула не пойдет, поскольку (2) состоит из нескольких тысяч ячеек. И в формуле придется сравнивать значение с каждой из них.

    We will troll you!!!

  • Пишите макрос, либо считывая два масива и сравнивая значения в них. Либо делаете последовательно сравнение в макросе

  • если бы я еще знал, как это делается (((((((

    We will troll you!!!

  • 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 - Выполнить

    Основной принцип моего существования — служение гуманистическим идеалам человечества!

  • шаман!!!

    спасибо :bottle: :pivo: :present: :respect:

    We will troll you!!!

  • Спасибо Мелкософту...
    Это скомуниздено с их support-а, лень было самому шевелить извилинами.
    Моя - тока инструкция по вставке-запуску:улыб:

    Основной принцип моего существования — служение гуманистическим идеалам человечества!

  • в примере в столбец B вставь это:
    =ЕСЛИ(ЕОШИБКА(ВПР(A4;$C$4:$D$9;2;ЛОЖЬ));0;ВПР(A4;$C$4:$D$9;2;ЛОЖЬ))

  • там 0 вставляется, если нет совпадений, а надо чтобы ничего не было.
    кстати, в столбце (3) может быть значение 0.

    We will troll you!!!

  • =ЕСЛИ(ЕОШИБКА(ВПР(A4;$C$4:$D$9;2;ЛОЖЬ));"";ВПР(A4;$C$4:$D$9;2;ЛОЖЬ))

Записей на странице:

Перейти в форум

Модераторы: