|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.08.2019, 13:30 | #1 |
Регистрация: 14.08.2019
Сообщений: 8
|
Макрос для применения формулы к каждому столбцу последовательно
Здравствуйте. Имеется следующий документ:
http://prntscr.com/oshwa7 В 16 столбце я пишу формулу: =ЕСЛИ(RC[-10]>RC[-13]+1000;RC[-10];0) и протягиваю эту формулу на все строки (если цена с доставкой 1 больше чем наша цена + 1000, то берем эту цену, а иначе 0). 0 здесь всего лишь метка, по которой мы фильтруем данный столбец и переходим к следующему. Видно, на первом шаге нашему условию удовлетворяет только 1 позиция: http://prntscr.com/oshyfh После этого шага я фильтрую 16 столбец по значению 0 и пишу эту же формулу для цены с доставкой 2 =ЕСЛИ(RC[-9]>RC[-13]+1000;RC[-9];0) и снова протягиваю эту формулу на все строки На втором шаге позиций уже больше http://prntscr.com/osieno Единственная позиция от первого шага осталась с ценой доставкой 1, несмотря на то что и под условие с ценой доставкой 2 тоже попадает (но в формулу 2 шага она не попала, т.к заранее отфильтровали по значению "0") После этого шага я фильтрую 16 столбец по значению 0 и пишу эту же формулу для цены с доставкой 3 И так я повторяю эту формулу для всех столбцов, пока формула не примет такой вид: =ЕСЛИ(RC[-1]>RC[-13]+1000;RC[-1];0) После этого шага я фильтрую 16 столбец по значению 0 и, т.к столбцы закончились а эти позиции под наше условие так и не попали, мы их удаляем. В моем случае таких позиций не было, поэтому ничего не удалялось. В итоге получился такой документ: (см. вложения) Можно ли для этой ситуации написать макрос для автоматизации (столбцов может быть бесконечно много). Что изучить? Спасибо |
14.08.2019, 20:44 | #2 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
Смотрите udf в файле
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
15.08.2019, 09:41 | #3 |
Регистрация: 14.08.2019
Сообщений: 8
|
|
15.08.2019, 10:25 | #4 |
Регистрация: 14.08.2019
Сообщений: 8
|
Александр, а как поменяется код если немного поменять условие с этого:
(старт) =ЕСЛИ(RC[-10]>RC[-13]+1000;RC[-10];0) (финиш) =ЕСЛИ(RC[-1]>RC[-13]+1000;RC[-1];0) на это: (старт) =ЕСЛИ((RC[-10]+RC[-9])/2>(RC[-13]+1000);(RC[-10]+RC[-9])/2;0) (финиш) =ЕСЛИ((RC[-2]+RC[-1])/2>(RC[-13]+1000);(RC[-2]+RC[-1])/2;0) Код:
|
15.08.2019, 12:02 | #5 | |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
Если
Цитата:
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
|
15.08.2019, 12:57 | #6 | |
Регистрация: 14.08.2019
Сообщений: 8
|
Цитата:
Код:
|
|
15.08.2019, 13:27 | #7 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
В верном Ну так сами и проверьте, сначала вручную как делали это в сообщении 1, а тогда сравните с результатом вашей функции.
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
15.08.2019, 13:40 | #8 | |
Регистрация: 14.08.2019
Сообщений: 8
|
Цитата:
Код:
Но у меня не работает, что здесь не так? |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запись формулы в макрос | Aleksei_Biboranov | Microsoft Office Excel | 0 | 16.07.2019 15:16 |
Макрос протягивания формулы | perven1 | Microsoft Office Excel | 4 | 03.10.2017 19:41 |
Макрос, дописать текст в диапазоне ячеек по столбцу! | mostApi | Microsoft Office Excel | 4 | 05.10.2015 17:51 |
Макрос для подстановка искомого текста из одной ячейки в другую по столбцу | tonpok666 | Microsoft Office Excel | 4 | 07.02.2013 09:33 |
Макрос присваивает каждому диапазону 1-ый элемент | DJTreeno | Microsoft Office Excel | 3 | 24.09.2011 17:25 |