Страницы: 1
RSS
Проверка данных: СЦЕПИТЬ диапазон по условию, аналог функции в LibreOffice
 
Добрый день.
Ситуация такая. Имеется созданный в LibreOffice файл, на одном листе которого раположена некая база, а на другой подтягиваются значения из него. Но подтягиваются они не просто так, а по условию, причем полученные значения сцепляются и загоняются в выпадающий список.
Лист 1


Лист 2



Для расчетов в проверке используется такая формула:
Код
IF(Лист2.$C$2:$C$10=A2;CONCATENATE(Лист2.$A$2:$A$10;" - ";Лист2.$B$2:$B$10);"Выбрать из списка")

Правда, есть одно НО: в LO при использовании проверки выбирается пункт "диапазон ячеек", которого нет в Excel. Если попытаться вставить приведенную выше формулу просто в "список" (в Excel), то получится ошибка вычислений.

Собственно, вопрос: можно ли реализовать подобное в Excel (только формулами, без VBA)? Потому что для дальнейшей работы необходимо перейти на него.

MSO2010
 
Если вместо Диапазон ячеек есть что-то вроде Формула или Другой - попробуйте выбрать его.
Точнее сказать нечего, т.к. это не раздел по Excel для MAC. Так что тема будет перенесена в соответствующий раздел форума.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Если я использую данную формулу в "другом", то она просто не сработает (остается пустая ячейка).

И к маку это отношения не имеет, я просто сделал снимок из ОС Х; сам файл будет обрабатываться в Windows.
 
Цитата
somebox пишет:
я просто сделал снимок из ОС Х
А я просто на основании снимков сделал выводы. Вы пишите про LO, снимки из MAC, а решение нужно в MS Excel? Как это можно понять из Вашего описания? Посмотрите хотя бы со стороны тогда на все свои пояснения.

Однако боюсь, что сделать именно так как хотите не получится. Вы хотите динамически формировать список значений(которые к тому же из разных строк). MS Excel этого не умеет делать на ходу. По крайней мере версия для Windows.  
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
я просто сделал снимок из ОС Х
Тогда вы ошиблись форумом!
Не зависимо от ОС здесь не обсуждают картинки....
Эт вам на вернисаж надо!
А сюда надо файлы и вопросы по ним.
возможно кто-то и поможет.
По картинкам шанс мало отличается от 0
 
Цитата
Александр Моторин пишет: А сюда надо файлы и вопросы по ним.
Файл приложен.
Картинки - наглядный пример того, что получается в LO и что нужно получить в Excel.
Изменено: somebox - 25.10.2014 21:43:18
 
Открыть лист, в котором данные для списка, Ctrl+F3, создать именованный диапазон (задать имя, в строке формулы = и выделить диапазон)
Выделить нужную ячейку или диапазон, Данные-Проверка_данных-Список, в строке формулы:
=имя
Выпадающий список готов
 
Цитата
vikttur пишет:
Ctrl+F3
Там, вроде, не Ctrl нужно, а Fn  
 
vikttur, это вы предлагаете мне просто сделать список из диапазона. Я в курсе, как он делается. Задача в другом.
 
Невнимательно прочитал.
Формулой - нет, функцию пользователя писать нужно.
Вариант (вряд ли приемлем): для каждого заказа формировать отдельный диапазон на листе.
 
В Экселе нельзя загнать виртуальный массив в Список-проверка-данных (эх ...).
Но сцепить можно в дополнительным диапазоне-столбце:
 
Цитата
С.М. пишет:
В Экселе нельзя загнать виртуальный массив в Список-проверка-данных
Почему?
 
Можно: формулу, возвращающую ссылку на диапазон, или текстовую строку с разделителем (";").
Изменено: С.М. - 26.10.2014 01:48:33
 
Код
[A1].Validation.Add Type:=xlValidateList, Formula1:=Join(arr, ",")'arr - одномерный массив
 
 
Юрий, это случай-2 - текстовая строка с разделителем, которую "динамически" можно добавить в Список только макросом. ТС - макрос не хочет.
 
Мно просто стало обидно за беззащитный массив))
 
Юрий, пару ложек дегтя:
1. если внутри текста будет вдруг запятая, являющаяся не именно разделителем элементов списка, а скажем разделителем целой и дробной части числа, разделителем для слов и т.п. - то она сыграет роль разделителя элемента списка.
2. длина строки для списка не может содержать более 255 символов.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Я в курсе))
 
Я знаю  :D  Но это я и ты знаем. Еще кто-то. А вот кто-то не знает, воспользуется и будет голову ломать, почему не работает...
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Посидел еще над функциями, и получилось сваять такую конструкцию и вставить ее в проверку:
Код
=ИНДЕКС($B$3:$C$11;ПОИСКПОЗ(ЕСЛИ($D$3:$D$11=F3;"*");$B$3:$B$11;0);0) 

Только вот проблема: список все равно не формируется, берется только первое значение и касается это только первого заказа. С другими - ошибка вычислений.

И можно тему все же перенести в основной форум. Это не мак-задача.
Изменено: somebox - 02.11.2014 18:59:03
 
Вы хоть почитайте, что пишут. Ну НЕЛЬЗЯ сделать формулами то, что Вы хотите. Не воспринимает этого Excel.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1
Наверх