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

На 1 листе имеем список из 999 городов мира. На втором листе 3 списка с этими же городами, 333 городов в каждом списке.

Нужно выверить список на листе 1, чтобы он присвоил уникальный признак каждому городу, в зависимости от того, в каком из трех списокв на втором листе он находиться.

Например: Если город на листе 2 находится в списке A, то в списке на листе 1 он подсвечивается красным (заливка). Если в списке B, то зеленым.
Как вариант, можно добавить столбец на листе 1, куда подставлялся бы номер списка со второго листа.
 
Это не Excel файл, это картинка. По такому файлу задачи не решаются.
Да и название темы никакое. Назовите например так
Присвоить уникальный признак каждому городу, в зависимости от списка
Изменено: АlехМ - 05.06.2017 18:59:12
Алексей М.
 
=ЕСЛИ(НЕ(ЕНД(ПОИСКПОЗ(J5;B4:B23;0)>0));"Список А"; "Дописать формулу")
Изменено: Фродо - 05.06.2017 23:33:34
у меня простая версия Экселя, в ней нет кнопки "Прочитать мысли и сгенерировать файл пример"
 
Фродо, Лучше тренироваться на файле ТС
Тему поправили, теперь файл нужен, вставить рабочую формулу.
Изменено: АlехМ - 05.06.2017 19:02:39
Алексей М.
 
Цитата
Фродо написал:
ЕСЛИ(ПОИСКПОЗ(J5;B4:B23;0)>0
ПОИСКПОЗ всегда больше нуля, либо ошибка.
 
Похоже файла не будет. Формула для таблиц на одном листе
=ИНДЕКС(G$1:I$1;СУММПРОИЗВ((A2=G$2:I$334)*СТОЛБЕЦ(A1:C1)))
Алексей М.
 
АlехМ, тормоза будут офигенные.
1000 формул, и в каждой массив на 1000 ячеек.
 
Цитата
past25 написал:
Присвоить уникальный признак каждому городу,
Не вижу на картинке УНИКАЛЬНОГО признака: уникальный - единственный. Где в таблице этот признак?
 
Да, пожалуй "уникальный" в названии - лишнее слово.
 
И в сообщении упоминается про уникальность )) Подождём автора: может он расскажет, что понимать под уникальностью в данном случае.
 
Уникальный - это "Списко А" :)
 
Цитата
Михаил С. написал:
в названии - лишнее слово
Наверно не только это слово лишнее.
Словарный запас Эллочки-Людоедки состоял из 30 слов. Однако, это не мешало ей выразить любую свою мысль.
Алексей М.
 
Михаил С., А какая тогда быстрее
=ИНДЕКС(G$1:I$1;ЕЧИСЛО(ПОИСКПОЗ(A2;G$2:G$334;))+2*ЕЧИСЛО(ПОИСКПОЗ(A2;H$2:H$334;))+3*ЕЧИСЛО(ПОИСКПОЗ(A2;I$2:I$334;)))
или
=ИНДЕКС(G$1:I$1;ЕОШ(ВПР(A2;G$2:G$334;;))+2*ЕОШ(ВПР(A2;H$2:H$334;;))+3*ЕОШ(ВПР(A2;I$2:I$334;;)))
Изменено: АlехМ - 05.06.2017 23:09:23
Алексей М.
 
=ЕСЛИ(СЧЁТЕСЛИ($G$2:$G$4;A2);"А";ЕСЛИ(СЧЁТЕСЛИ($H$2:$H$4;A2);"Б";"С"))

Впрочем, про тормоза, конкретно в этом файле, я тоже немного погорячился. Чему там тормозить? один раз при открытии пересчитает, и все.
Летучих формул нет, действий  вроде никаких не предполагается...
Изменено: Михаил С. - 05.06.2017 23:23:18
 
ПОИСКПОЗ() и ВПР() просматривают массив до первого совпадения, т.е не весь. Массива три
СЧЁТЕСЛИ() считает пробегает по всему массиву. Массива два.
Как определяется что быстрее?
Алексей М.
 
Быстрее будет макросом на массиве и словаре, и не красить, а писать признак. Никто ведь не просил решать исключительно формулами.
Но естественно макрос по картинке не пишется.
 
Цитата
Михаил С. написал:
ПОИСКПОЗ всегда больше нуля, либо ошибка.
в 5 пост поправил, добавил  ЕНД
у меня простая версия Экселя, в ней нет кнопки "Прочитать мысли и сгенерировать файл пример"
 
Просто моя короче :)

Вот только ТС все это нафиг не нужно.
Изменено: Михаил С. - 05.06.2017 23:43:39
 
Цитата
Как определяется что быстрее?
Вводится 1100000 формул  и миллион строк данных и проверяется :)

Но, вообще-то, зависит и от самих данных. ВПР ищет по указанному диапазону, СЧЕТЕСЛИ - по пользовательскому (если задать  весь столбец или сроку). Неточный поиск ВПР (при сортированном диапазоне) в разы быстрее точного. И т.д.
 
Цитата
Михаил С. написал:
Просто моя короче
=ЕСЛИ(ИЛИ(G$2:G$4=A2);"А";ЕСЛИ(ИЛИ(H$2:H$4=A2);"Б";"С"))
Массивный ввод
Алексей М.
Страницы: 1
Наверх