Страницы: 1
RSS
Поиск по двум условиям
 
Добрый день!
Спасибо большое за бесподобный ресурс, но, к сожалению, я не нашел ответ на свои вопросы.

Вопрос 1: Поиск по двум условиям (интересует формула, либо макрос, т.к. фильтр здесь не подходит).
Идея следующая: Сначала ищем аля функцией впр совпадающИЕ значенИЯ в соседнем массиве, дальше выбираем только максимальное значение. Пытался реализовать через функцию МАКС, но безуспешно.

Вопрос 2: Хотел автоматически выводить полный путь до файла, вместо просто названия. После продолжительных танцев с бубном получил работающий вариант, но только с ручным запуском. Спустя некоторое время наткнулся на более адекватную реализацию, правда она не учитывает изменения файла и не обновляет имя файла после сохранения. Как вариант думал изменить работу функций "сохранить" и "сохранить в", но наверняка есть более простое решение.
П.С. В идеале, чтобы в шапке был не просто полный путь, а скорей даже адресная строка, c возможностью копирования адреса файла.

Вопрос 3: Каждый раз после изменения ячейки в столбце А, требуется выдавать дату изменения в ячейку стобца Б. После долгих мучений с присвоением нескольких переменных приведших к зависанию компьютера, я пришел к выводу (наконец-то зарисовав то, что я хочу), что алгоритм должен быть следующий:
В случаем любого изменения ячейки в столбце А - запускаем макрос, вносящий дату в столбец Б.
Т.к. я только начинаю разбираться в макросах, все, что я смог написать - это "В случаем любого изменения ячейки в столбце А" и то не факт.

Буду очень признателен за комментарии.

upd. подправил файл и очепятки
Изменено: Всеволод Сливчанский - 02.07.2013 17:36:34
 
Цитата
vatar пишет:
алгоритм должен быть следующий: В случаем любого изменения ячейки в столбце А - запускаем макрос, вносящий дату в столбец Б.
Посетите раздел "Приемы".
А вообще не стоит кучу вопросов размещать в одной теме. Придерживайтесь принципа: один вопрос - одна тема.
 
Юрий М,  хорошо, спасибо
 
По третьему вопросу см. здесь
 
Юрий М, Спасибо.

По второму нашел встроенную функцию.
 
По второму:
Код
MsgBox ThisWorkbook.FullName 
 
Юрий М, MsgBox тут не подходит, он просто выдаст путь файла в всплывающем окне. А нужно все время видеть путь до файла + (желательно) иметь возможность этот путь скопировать. Решено посредством Панели быстрого доступа, как указано выше.
За 3 вопрос спасибо. Дата заработала.
 
Так ведь MsgBox это только для примера... Напишите:
Код
[A1]=ThisWorkbook.FullName 
 
Цитата
Всеволод Сливчанский пишет:
А нужно все время видеть путь до файла
Не понятно чем продиктована такая необходимость.

Цитата
Всеволод Сливчанский пишет:
+ (желательно) иметь возможность этот путь скопировать.
Можно выводить путь в TextBox на форме, по какому-нибудь событию, например по нажатию кнопки.
 
LVL, Спасибо.

При работе с 20+ документами с разных серверов и отделов хотелось бы понимать,где эти файлы находятся.

Возможность копировать полный путь требуется для предоставления ссылок на эти файлы для сотрудников компании.
 
Ну и чем плох мой вариант?
 
Юрий М, выводить в ячейку не вижу смысла, т.к. все файлы разные, у многих запрет на изменения данных, а функцию хотелось бы иметь глобальную.
Идеальн, если бы по комбинации клавиш макрос бы запоминал ThisWorkbook.FullNameURLEncoded и после бы через ctrl+v ссылку можно было бы вставить.

LVL, Поясните, пожалуйста, поподробней о Textbox.
Почему то textbox ругается и не запускается:
Sub test()
Textbox ThisWorkbook.FullNameURLEncoded
End sub
 
Не понимаю:
Цитата
vatar пишет:
В идеале, чтобы в шапке был не просто полный путь, а скорей даже адресная строка, c возможностью копирования адреса файла.
Это и получите в ячейке. И копировать можно. Чем отличается "не просто полный путь" от "адресной строки"? Если нужна гиперссылка (о чём Вы не говорили) - оформляйте гиперссылкой - запишите эти действия макрорекордером.
 
Цитата
LVL пишет:
Можно выводить путь в TextBox на форме
Ключевое слово "на форме", TextBox должен быть на UserForm или на листе (но это не удобно).
 
Юрий М, возможно я неправильно выразился. Мои извинения.


Надеюсь теперь станет ясней.

Возможно гиперссылка и есть то, что я ищу. Сейчас посмотрю. Спасибо
Изменено: Всеволод Сливчанский - 02.07.2013 14:41:59
 
LVL, Спасибо. К сожалению, я еще не подступался к UserForm1, поэтому и не среагировал.
Я нашел в модуле ваш код,
Option Explicit

Sub tt()
UserForm1.Show
End Sub

но не понимаю, где код для вывода информации о путе файла. В самой userform1?

И для чего дубль кода на самой странице?

Option Explicit

Private Sub CommandButton1_Click()
UserForm1.Show
End Sub

Разве нижнего кода будет недостаточно?
Изменено: Всеволод Сливчанский - 02.07.2013 14:49:06
 
чисто из спортивного интереса, по первому вопросу так подойдет?
 
v.fix86, Спасибо. Я к вечеру начинаю хуже соображать, поэтому обязательно пересмотрю завтра. У Вас стоит Сумм, при замене Сумм на Макса вроде бы все работает, но принципа я не понимаю...
Буду глядеть завтра. Всем спасибо за оперативные ответы
Изменено: Всеволод Сливчанский - 02.07.2013 18:41:13
 
Цитата
Всеволод Сливчанский пишет:
Разве нижнего кода будет недостаточно?
Достаточно, если запускать с кнопки на листе, а если без кнопки на листе то нужен код в стандартном модуле.
 
Всеволод Сливчанский, Вы правы, нужно было МАКС.
Принцип, формула ищет первое значение (столбец "А") и второе значения (столбец "А" минус одна строка), переходит на столбец "В", а потом ищем максимальное значение из этого промежутка
 
v.fix86, По-моему не годиться, т.к. по Вашей логике АДРЕС(ПОИСКПОЗ(I5;A:A;0)-1;2) означает, что все данные структурированы и отсортированы, а в моем случае это огромный массив данных несортированных данных. Почему то мне кажется, что первая часть может быть реализована через ВПР, только я не могу понять как заставить ВПР найти и заставить запомнить ВСЕ ЗНАЧЕНИЯ, а потом уже выбрать МАКС.
Изменено: Всеволод Сливчанский - 03.07.2013 10:43:53
 
если у Вас данные такие, как Вы указали в примере, то еще раз посмотрите как считает формула: ищет одно значение, рядом считается максимальное, ищет другое значение, рядом максимальное.

или еще раз объясните, на примере
Изменено: v.fix86 - 03.07.2013 11:34:29
 
v.fix86, Попробую сформулировать задачу еще раз. Вымышленный пример задачи:
На склад приходят одни и те же товары с разными ценами.
Т.е. товара "a" может прийти 7 за месяц, а товара "b" 3. В каком порядке они придут никто не знает.
При вводе id товара "a" мне надо видеть только максимальную цену этого товара.
 
как-то так?
 
v.fix86, Блеск! Спасибо большое. Все работает. Теперь буду читать справку по СУММАПРОИЗВ...
 
v.fix86, Поправка, работает только функция Макс.. а другие параметры выдают 0 или некорректные значения. Пробовал подставлять вместо Макс -> Мин или Срзнач...

При попытке подтянуть по этой формуле с другой страницы выдается ошибка "#Знач!"
Изменено: Всеволод Сливчанский - 03.07.2013 17:01:34
 
Всеволод Сливчанский, что просили, то и сделано.

Обратите внимание, что второй Ваш вариант примера значительно отличается от первого по условию и по реализации.
Может для третьего примера что-то еще нужно будет.
Выкладывайте пример :D
 
v.fix86, Добрый день!

Во вложении "третий пример".
Страницы: 1
Наверх