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

Вход

Регистрация

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

 

= Мир MS Excel/Сложные ссылки в формулах - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Сложные ссылки в формулах
ralf1 Дата: Воскресенье, 30.11.2014, 19:26 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Нужна таблица Сводка анализов
Каждый лист - Данные по одному больному

Первый лист (Оглавление) - последние показатели по каждому анализу.
Нужно, чтобы формула в каждой ячейке этого листа делала следующее (допустим, для ячейки Е2)
1. Обратиться к листу, имя которого записано в ячейке Е1 (имя содержит пробелы). У меня это лист "Бабенко Лидия Захаровна".
2. Последовательно просмотреть весь столбец "А" найденного листа "Бабенко Лидия Захаровна". Если найдена ячейка со значением "Оглавление"!Е1 (у меня это "Кальций (ммоль/л)"), то взять последнее значение в этой строке (у меня это "29,9") и вставить в ячейку листа "Оглавление"
3. Если ничего не найдено - вставить пустую строку

Кое что у меня получилось но с жёсткой привязкой к строке в листе пациента. Если изменить последовательность анализов в листе пациента, всё собьётся.

Можно реализовать это с автообновлением (при редактировании листа пациента автоматически обновляются данные в "Оглавлении") и без макросов?
По типу того как у меня выводятся в "Оглавлении" фамилии. Эту конструкцию я нашел на каком-то форуме и сам не понял как она работает...

Может это проще реализовать Access, но там я полный профан...
К сообщению приложен файл: _2.xlsm (77.3 Kb)
 
Ответить
СообщениеНужна таблица Сводка анализов
Каждый лист - Данные по одному больному

Первый лист (Оглавление) - последние показатели по каждому анализу.
Нужно, чтобы формула в каждой ячейке этого листа делала следующее (допустим, для ячейки Е2)
1. Обратиться к листу, имя которого записано в ячейке Е1 (имя содержит пробелы). У меня это лист "Бабенко Лидия Захаровна".
2. Последовательно просмотреть весь столбец "А" найденного листа "Бабенко Лидия Захаровна". Если найдена ячейка со значением "Оглавление"!Е1 (у меня это "Кальций (ммоль/л)"), то взять последнее значение в этой строке (у меня это "29,9") и вставить в ячейку листа "Оглавление"
3. Если ничего не найдено - вставить пустую строку

Кое что у меня получилось но с жёсткой привязкой к строке в листе пациента. Если изменить последовательность анализов в листе пациента, всё собьётся.

Можно реализовать это с автообновлением (при редактировании листа пациента автоматически обновляются данные в "Оглавлении") и без макросов?
По типу того как у меня выводятся в "Оглавлении" фамилии. Эту конструкцию я нашел на каком-то форуме и сам не понял как она работает...

Может это проще реализовать Access, но там я полный профан...

Автор - ralf1
Дата добавления - 30.11.2014 в 19:26
krosav4ig Дата: Воскресенье, 30.11.2014, 20:00 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
для Е2 формула
Код
=ЕСЛИОШИБКА(ПРОСМОТР(9E+307;СМЕЩ(ДВССЫЛ("'"&$A2&"'!1:1");ПОИСКПОЗ(ЛЕВБ(E$1;ПОИСК(" ";E$1&" ")-1);ЛЕВБ(ДВССЫЛ("'"&$A2&"'!A1:A100");ПОИСК(" ";ДВССЫЛ("'"&$A2&"'!A1:A100"))-1);)-1;));"")


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениедля Е2 формула
Код
=ЕСЛИОШИБКА(ПРОСМОТР(9E+307;СМЕЩ(ДВССЫЛ("'"&$A2&"'!1:1");ПОИСКПОЗ(ЛЕВБ(E$1;ПОИСК(" ";E$1&" ")-1);ЛЕВБ(ДВССЫЛ("'"&$A2&"'!A1:A100");ПОИСК(" ";ДВССЫЛ("'"&$A2&"'!A1:A100"))-1);)-1;));"")

Автор - krosav4ig
Дата добавления - 30.11.2014 в 20:00
ralf1 Дата: Воскресенье, 30.11.2014, 20:08 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
krosav4ig, не работает :(
 
Ответить
Сообщениеkrosav4ig, не работает :(

Автор - ralf1
Дата добавления - 30.11.2014 в 20:08
krosav4ig Дата: Воскресенье, 30.11.2014, 20:11 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
забыл, формула массивная, вводится по Crtl+Shift+Enter


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениезабыл, формула массивная, вводится по Crtl+Shift+Enter

Автор - krosav4ig
Дата добавления - 30.11.2014 в 20:11
ralf1 Дата: Воскресенье, 30.11.2014, 20:19 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
krosav4ig, вся таблица заполнилась значениями 2,89
 
Ответить
Сообщениеkrosav4ig, вся таблица заполнилась значениями 2,89

Автор - ralf1
Дата добавления - 30.11.2014 в 20:19
krosav4ig Дата: Воскресенье, 30.11.2014, 20:29 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
...
К сообщению приложен файл: 1356882.xlsm (77.9 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение...

Автор - krosav4ig
Дата добавления - 30.11.2014 в 20:29
buchlotnik Дата: Воскресенье, 30.11.2014, 20:32 | Сообщение № 7
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
у меня так - намудрил, но без массива B) :
Код
=ЕСЛИОШИБКА(ИНДЕКС(СМЕЩ(ДВССЫЛ("'"&$A2&"'!A1");ПОИСКПОЗ(B$1;ДВССЫЛ("'"&$A2&"'!a:a");0)-1;0;1;2^14);1;ПОИСКПОЗ(5^441;СМЕЩ(ДВССЫЛ("'"&$A2&"'!A1");ПОИСКПОЗ(B$1;ДВССЫЛ("'"&$A2&"'!a:a");0)-1;0;1;2^14)));"")
К сообщению приложен файл: 0225038.xlsm (77.3 Kb)
 
Ответить
Сообщениеу меня так - намудрил, но без массива B) :
Код
=ЕСЛИОШИБКА(ИНДЕКС(СМЕЩ(ДВССЫЛ("'"&$A2&"'!A1");ПОИСКПОЗ(B$1;ДВССЫЛ("'"&$A2&"'!a:a");0)-1;0;1;2^14);1;ПОИСКПОЗ(5^441;СМЕЩ(ДВССЫЛ("'"&$A2&"'!A1");ПОИСКПОЗ(B$1;ДВССЫЛ("'"&$A2&"'!a:a");0)-1;0;1;2^14)));"")

Автор - buchlotnik
Дата добавления - 30.11.2014 в 20:32
Nic70y Дата: Воскресенье, 30.11.2014, 20:32 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 8984
Репутация: 2359 ±
Замечаний: 0% ±

Excel 2010
вариант без массивного ввода:
Код
=ЕСЛИОШИБКА(ПРОСМОТР(9E+307;ИНДЕКС(ДВССЫЛ("'"&$A2&"'!B2:XFD100");ПОИСКПОЗ(B$1&"*";ДВССЫЛ("'"&$A2&"'!A2:A100");0);));"")
К сообщению приложен файл: 14.xlsm (77.4 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщениевариант без массивного ввода:
Код
=ЕСЛИОШИБКА(ПРОСМОТР(9E+307;ИНДЕКС(ДВССЫЛ("'"&$A2&"'!B2:XFD100");ПОИСКПОЗ(B$1&"*";ДВССЫЛ("'"&$A2&"'!A2:A100");0);));"")

Автор - Nic70y
Дата добавления - 30.11.2014 в 20:32
ralf1 Дата: Воскресенье, 30.11.2014, 20:48 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
krosav4ig, работает! Я,видимо, неправильно скопировал-вставил вашу формулу.
Я выделил левую-верхнюю ячейку, потом держа Shift правую-нижнюю.Выделилась область. Затем скопировал и вставил Вашу формулу в окно формул и нажал Crtl+Shift+Enter. Что неправильно?
 
Ответить
Сообщениеkrosav4ig, работает! Я,видимо, неправильно скопировал-вставил вашу формулу.
Я выделил левую-верхнюю ячейку, потом держа Shift правую-нижнюю.Выделилась область. Затем скопировал и вставил Вашу формулу в окно формул и нажал Crtl+Shift+Enter. Что неправильно?

Автор - ralf1
Дата добавления - 30.11.2014 в 20:48
Pelena Дата: Воскресенье, 30.11.2014, 21:52 | Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 19392
Репутация: 4537 ±
Замечаний: ±

Excel 365 & Mac Excel
Что неправильно?

Надо было вставить формулу в одну левую верхнюю ячейку, нажать Ctrl+Shift+Enter, а уже потом копировать вниз и вправо


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

Надо было вставить формулу в одну левую верхнюю ячейку, нажать Ctrl+Shift+Enter, а уже потом копировать вниз и вправо

Автор - Pelena
Дата добавления - 30.11.2014 в 21:52
  • Страница 1 из 1
  • 1
Поиск:

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