Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как формулой узнать имя ячейки? - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Как формулой узнать имя ячейки?
shurikus Дата: Вторник, 25.03.2014, 21:59 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 198
Репутация: 44 ±
Замечаний: 0% ±

Excel 2007
Добрый вечер. Недавно решал задачу и в ходе ее решения одним из вариантов для меня было узнать имя ячейки в которой находится найденное значение.
Подробнее: в некоем массиве данных ищется определенное конкретное значение. Если оно есть в данном массиве, то формула пишет, к примеру:"Искомое значение находится в ячейке H15".
Вопрос: как можно узнать имя ячейки с найденным значением?
Пример во вложении.
К сообщению приложен файл: name.xlsx (10.6 Kb)
 
Ответить
СообщениеДобрый вечер. Недавно решал задачу и в ходе ее решения одним из вариантов для меня было узнать имя ячейки в которой находится найденное значение.
Подробнее: в некоем массиве данных ищется определенное конкретное значение. Если оно есть в данном массиве, то формула пишет, к примеру:"Искомое значение находится в ячейке H15".
Вопрос: как можно узнать имя ячейки с найденным значением?
Пример во вложении.

Автор - shurikus
Дата добавления - 25.03.2014 в 21:59
_Boroda_ Дата: Вторник, 25.03.2014, 22:10 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
shurikus, Возможно, произошла подмена определений и Вам нужен АДРЕС ячейки, а не ее имя? Ведь ИМЯ - это то, что мы пишем в диспетчере имен (Контрл F3), а Н15 - это адрес. Если я правильно Вас понял, тогда так можно (если числа в массиве не повторяются)
Код
=АДРЕС(СУММПРОИЗВ((A8:L28=D1)*СТРОКА(A8:A28));СУММПРОИЗВ((A8:L28=D1)*СТОЛБЕЦ(A8:L8));4)

Если повторяются, то по типу этого тоже извратиться можно
что-то типа такого
Код
=АДРЕС(МИН(ЕСЛИ(A8:L28=D1;СТРОКА(A8:A28)));ПОИСКПОЗ(D1;ИНДЕКС(A1:L28;МИН(ЕСЛИ(A8:L28=D1;СТРОКА(A8:A28)));););4)
К сообщению приложен файл: name_1.xlsx (11.6 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщениеshurikus, Возможно, произошла подмена определений и Вам нужен АДРЕС ячейки, а не ее имя? Ведь ИМЯ - это то, что мы пишем в диспетчере имен (Контрл F3), а Н15 - это адрес. Если я правильно Вас понял, тогда так можно (если числа в массиве не повторяются)
Код
=АДРЕС(СУММПРОИЗВ((A8:L28=D1)*СТРОКА(A8:A28));СУММПРОИЗВ((A8:L28=D1)*СТОЛБЕЦ(A8:L8));4)

Если повторяются, то по типу этого тоже извратиться можно
что-то типа такого
Код
=АДРЕС(МИН(ЕСЛИ(A8:L28=D1;СТРОКА(A8:A28)));ПОИСКПОЗ(D1;ИНДЕКС(A1:L28;МИН(ЕСЛИ(A8:L28=D1;СТРОКА(A8:A28)));););4)

Автор - _Boroda_
Дата добавления - 25.03.2014 в 22:10
Serge_007 Дата: Вторник, 25.03.2014, 22:12 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Код
=АДРЕС(СУММПРОИЗВ((D1=A8:L28)*СТРОКА(8:28));СУММПРОИЗВ((D1=A8:L28)*СТОЛБЕЦ(A:L));4)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Код
=АДРЕС(СУММПРОИЗВ((D1=A8:L28)*СТРОКА(8:28));СУММПРОИЗВ((D1=A8:L28)*СТОЛБЕЦ(A:L));4)

Автор - Serge_007
Дата добавления - 25.03.2014 в 22:12
shurikus Дата: Вторник, 25.03.2014, 23:22 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 198
Репутация: 44 ±
Замечаний: 0% ±

Excel 2007
Возможно, произошла подмена определений и Вам нужен АДРЕС ячейки, а не ее имя?

Возможно. Я и сам сомневался что выбрать "имя" или "адрес". Открыл лист, навел в левом углу на обозначение выделенной ячейки и подсказка дала мне вариант "имя", поэтому и выбор пал на этот вариант:)
_Boroda_, Serge_007, большое спасибо, ваш общий вариант шикарен тем, что подходит как для числовых значений, так и для текстовых. _Boroda_, за "изврат" отдельное спасибо, думаю тоже найдет свое применение :)
 
Ответить
Сообщение
Возможно, произошла подмена определений и Вам нужен АДРЕС ячейки, а не ее имя?

Возможно. Я и сам сомневался что выбрать "имя" или "адрес". Открыл лист, навел в левом углу на обозначение выделенной ячейки и подсказка дала мне вариант "имя", поэтому и выбор пал на этот вариант:)
_Boroda_, Serge_007, большое спасибо, ваш общий вариант шикарен тем, что подходит как для числовых значений, так и для текстовых. _Boroda_, за "изврат" отдельное спасибо, думаю тоже найдет свое применение :)

Автор - shurikus
Дата добавления - 25.03.2014 в 23:22
vev57 Дата: Четверг, 17.12.2020, 16:14 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 88
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Возможно, произошла подмена определений и Вам нужен АДРЕС ячейки, а не ее имя?

А если все таки нужно получить имя ячейки? Желательно стандартным набором функций.
Стоит вот такая задача:
К сообщению приложен файл: 5485795.xls (26.5 Kb)


Сообщение отредактировал vev57 - Четверг, 17.12.2020, 16:16
 
Ответить
Сообщение
Возможно, произошла подмена определений и Вам нужен АДРЕС ячейки, а не ее имя?

А если все таки нужно получить имя ячейки? Желательно стандартным набором функций.
Стоит вот такая задача:

Автор - vev57
Дата добавления - 17.12.2020 в 16:14
bmv98rus Дата: Четверг, 17.12.2020, 17:50 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4112
Репутация: 769 ±
Замечаний: 0% ±

Excel 2013/2016
vev57, стандартными методами нельзя. Можно через UDF, если есть список имен, то можно перебором найти нужное, но сложность больше чем эффект.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщениеvev57, стандартными методами нельзя. Можно через UDF, если есть список имен, то можно перебором найти нужное, но сложность больше чем эффект.

Автор - bmv98rus
Дата добавления - 17.12.2020 в 17:50
vev57 Дата: Четверг, 17.12.2020, 18:20 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 88
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
...сложность больше чем эффект
Спасибки. Выход найден - достаточно простой и удобный за счёт перегруппировки исходных данных
 
Ответить
Сообщение
...сложность больше чем эффект
Спасибки. Выход найден - достаточно простой и удобный за счёт перегруппировки исходных данных

Автор - vev57
Дата добавления - 17.12.2020 в 18:20
Gustav Дата: Четверг, 17.12.2020, 23:42 | Сообщение № 8
Группа: Админы
Ранг: Участник клуба
Сообщений: 2772
Репутация: 1141 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
А если все таки нужно получить имя ячейки?

F3 \ "Все имена" - на рабочий лист в указанное место вываливается список всех имен вида:
[vba]
Код
е2    =Лист1!$C$2
т1    =Лист1!$C$1
т3    =Лист1!$C$3
[/vba]
Дальше поВПРить или поИНДЕКС(ПОИСКПОЗить.


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
А если все таки нужно получить имя ячейки?

F3 \ "Все имена" - на рабочий лист в указанное место вываливается список всех имен вида:
[vba]
Код
е2    =Лист1!$C$2
т1    =Лист1!$C$1
т3    =Лист1!$C$3
[/vba]
Дальше поВПРить или поИНДЕКС(ПОИСКПОЗить.

Автор - Gustav
Дата добавления - 17.12.2020 в 23:42
Pelena Дата: Пятница, 18.12.2020, 08:36 | Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 19346
Репутация: 4525 ±
Замечаний: ±

Excel 365 & Mac Excel
F3 \ "Все имена"

Ух ты! Не знала про такое, спасибо!


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение
F3 \ "Все имена"

Ух ты! Не знала про такое, спасибо!

Автор - Pelena
Дата добавления - 18.12.2020 в 08:36
vev57 Дата: Пятница, 18.12.2020, 10:38 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 88
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
F3 \ "Все имена"

В формулу такое не забить...
 
Ответить
Сообщение
F3 \ "Все имена"

В формулу такое не забить...

Автор - vev57
Дата добавления - 18.12.2020 в 10:38
Gustav Дата: Пятница, 18.12.2020, 10:51 | Сообщение № 11
Группа: Админы
Ранг: Участник клуба
Сообщений: 2772
Репутация: 1141 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
В формулу такое не забить

Почему? Вы F9 не умеете пользоваться внутри формулы на адресе диапазона? Если состав имен не меняется (или меняется редко), то можно массив для поиска на листе при помощи F9 превратить в массив констант внутри формулы.

Я же, давая этот совет, предполагал, что для списка имён можно выделить отдельный диапазон на листе, куда этот список и сбрасывать - нажатием двух кнопок! Даже если список имён обновляется часто, то всегда можно быстро подкатиться к этому диапазону и отрефрешить список. Уж всяко быстрее, чем поименно выковыривать из "Диспетчера имен" (который по Ctrl+F3).


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
В формулу такое не забить

Почему? Вы F9 не умеете пользоваться внутри формулы на адресе диапазона? Если состав имен не меняется (или меняется редко), то можно массив для поиска на листе при помощи F9 превратить в массив констант внутри формулы.

Я же, давая этот совет, предполагал, что для списка имён можно выделить отдельный диапазон на листе, куда этот список и сбрасывать - нажатием двух кнопок! Даже если список имён обновляется часто, то всегда можно быстро подкатиться к этому диапазону и отрефрешить список. Уж всяко быстрее, чем поименно выковыривать из "Диспетчера имен" (который по Ctrl+F3).

Автор - Gustav
Дата добавления - 18.12.2020 в 10:51
vev57 Дата: Пятница, 18.12.2020, 12:11 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 88
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Вы F9 не умеете пользоваться внутри формулы на адресе диапазона?
Не умею, и даже не понимаю сейчас, о чём речь. В Excel_е я самоучка, изучаю по мере надобности.

... для списка имён можно выделить отдельный диапазон на листе, куда этот список и сбрасывать - нажатием двух кнопок
Делаю некую конструкцию для людей, которые которые с ПК "на ВЫ", поэтому минимум телодвижений - одно из условий
 
Ответить
Сообщение
Вы F9 не умеете пользоваться внутри формулы на адресе диапазона?
Не умею, и даже не понимаю сейчас, о чём речь. В Excel_е я самоучка, изучаю по мере надобности.

... для списка имён можно выделить отдельный диапазон на листе, куда этот список и сбрасывать - нажатием двух кнопок
Делаю некую конструкцию для людей, которые которые с ПК "на ВЫ", поэтому минимум телодвижений - одно из условий

Автор - vev57
Дата добавления - 18.12.2020 в 12:11
Nic70y Дата: Пятница, 18.12.2020, 12:40 | Сообщение № 13
Группа: Друзья
Ранг: Экселист
Сообщений: 8965
Репутация: 2345 ±
Замечаний: 0% ±

Excel 2010
для людей, которые которые с ПК "на ВЫ"

[offtop]самое время осваивать юзерформы[/offtop]


ЮMoney 41001841029809
 
Ответить
Сообщение
для людей, которые которые с ПК "на ВЫ"

[offtop]самое время осваивать юзерформы[/offtop]

Автор - Nic70y
Дата добавления - 18.12.2020 в 12:40
bmv98rus Дата: Пятница, 18.12.2020, 12:59 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4112
Репутация: 769 ±
Замечаний: 0% ±

Excel 2013/2016
так можно и макрофункцией
Код
=get.names(,3,)
но дальше не прошло. Для точного определения не по тексту, а по адресу нужно использовать INTERSECT
и массивная конструкция
Код
=ISREF(INDIRECT({"т3";"т1"}) C1)
не сработает в отличии от
Код
=ISREF(INDIRECT("т1") C1)


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Пятница, 18.12.2020, 14:28
 
Ответить
Сообщениетак можно и макрофункцией
Код
=get.names(,3,)
но дальше не прошло. Для точного определения не по тексту, а по адресу нужно использовать INTERSECT
и массивная конструкция
Код
=ISREF(INDIRECT({"т3";"т1"}) C1)
не сработает в отличии от
Код
=ISREF(INDIRECT("т1") C1)

Автор - bmv98rus
Дата добавления - 18.12.2020 в 12:59
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!