|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.01.2011, 11:20 | #1 |
Новичок
Джуниор
Регистрация: 05.01.2011
Сообщений: 8
|
Поиск элемента в одном столбце и замена в другом
Приветствую всех участников форума!
Потребовалось в большой таблице внести изменения. Нужно найти в одном столбце вхождение одного элемента и изменить в той же строке, но в другом столбце значение на третье. Стандартными средствами Найти и заменить такое невозможно, нужен макрос, но в этом не силен. Подскажите, плиз. |
05.01.2011, 11:46 | #2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Без примера файла ничего не понятно.
В примере файла (XLS в архиве) подробно распишите, что на что надо менять. |
05.01.2011, 12:03 | #3 |
Новичок
Джуниор
Регистрация: 05.01.2011
Сообщений: 8
|
Например, в одном столбце у нас оценки (var value), во втором их текстовые значения (var desc).
Нужно дать всем оценкам в зависимости от номера описание. Я легко это сделаю на PHP или AS3, но не знаю как в Excel (VB видимо) Код:
|
05.01.2011, 13:32 | #4 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
в В2 пишете это
Код:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
05.01.2011, 14:43 | #5 |
Новичок
Джуниор
Регистрация: 05.01.2011
Сообщений: 8
|
IgorGO, спасибо. В данном конкретном примере, который я специально смоделировал, это работает.
Но мне нужно более общее решение ( я же не буду приводить свою таблицу с 5 тысячами строк и десятком столбцов), которое будет составлять результирующий столбец используя данные 3-4 разных столбцов. То есть ищет значение в одном столбце, берет в той же строке значение другого столбца и пишет в результирующий столбец в том же индексе (строке). Затем переходит к другому столбцу, там ищет новое значение, в зависимости от того что там за значение, переходит к четвертому и копирует данные в результирующий, при совпадении переписывая. Ну и т. д. |
05.01.2011, 14:53 | #6 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
а нам и не надо 5 тыс. строк, достаточно 10-20 штук. но таблицу-то надо увидеть, чтобы понимать тут лежат данные, сюда надо запихать результаты. тут как раз замечательно работает старинная пословица: лучше 1 раз увидеть, чем сто постов написать с обьяснениями
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
05.01.2011, 15:20 | #7 |
Новичок
Джуниор
Регистрация: 05.01.2011
Сообщений: 8
|
Если я приведу свою таблицу, мне придется ещё описание в 3000 знаков к ней писать, что именно в моем конкретном случае нужно. Я вас так ещё больше запутаю.
Хорошо, в моем загруженном примере: итак создан второй столбец с "отлично", "хорошо" и т. д., как создать третий столбец который будет искать все значения "4" в первом столбце, переходить на тот же индекс второго столбца, брать там значение "Четыре" (или что-то другое что там будет) и копировать в тот же индекс третьего столбца? |
05.01.2011, 15:33 | #8 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
задание - не строго, решение - как понял...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
05.01.2011, 16:00 | #9 |
Новичок
Джуниор
Регистрация: 05.01.2011
Сообщений: 8
|
О! Это уже кое-что. Спасибо.
=ЕСЛИ(B2=$C$1;B2;"") А вложенность возможна? То есть типа =ЕСЛИ(B2=$C$1;B2;=ЕСЛИ(A2=$C$1;B2;" ")) Вот это $C$1 - как понять? Откуда берется? |
05.01.2011, 16:17 | #10 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
судя по вопросам - офис Вы установили в этом году, а Excel до этого года не видели.
да, вложения возможны, не совсем понимаю, что Вы этим =ЕСЛИ(B2=$C$1;B2;=ЕСЛИ(A2=$C$1;B2;" ")) хотите добиться, но равно перед вторым если явно лишнее $C$1 - это абсолютная ссылка на ячейку. написанная в С2 формула =ЕСЛИ(B2=$C$1;B2;"") при копировании в С3 приобретает вид =ЕСЛИ(B3=$C$1;B3;"") ссылки с ячеки В2 автоматически настроились на В3, это относительные ссылки (вычисляются относительно ячейки в которой записана формула), а ссылка $C$1 - абсолютная, она не измениться при копировании формулы. для эксперимента: в верхней строке вместо хорошо напишите отлично, колонка заполнится соответствующими значениями.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиск и замена в столбце | Garrison | Microsoft Office Excel | 24 | 12.09.2012 17:31 |
Отображение формулы в одном столбце | dyakon88 | Microsoft Office Excel | 6 | 25.11.2010 20:15 |
Макрос на сравнение и подсчет в первом столбце строк, и сумирование значений этих строк в другом столбце | Shpr0T | Microsoft Office Excel | 8 | 30.08.2010 17:52 |
Привязка данных. Отображение дополнительной информации в одном ListBox, по выбору в другом | opiume | Общие вопросы .NET | 0 | 17.03.2010 00:48 |
Замена в столбце | siteograf | Microsoft Office Excel | 5 | 19.10.2009 02:27 |