Список с разделителями в excel
Недавно дочь обратилась с вопросом, нельзя ли в Excel выпадающий в ячейке список сделать контекстным, например, зависящим от содержания ячейки, находящейся слева от ячейки со списком (рис. 1)? Я довольно давно не использовал в работе выпадающие списки, поэтому для начала решил освежить свои знания по вопросу проверки данных в Excel.
Рис. 1. Состав выпадающего списка зависит от содержания соседней ячейки
Команда Проверка данных находится на вкладке Данные, область Работа с данными.
Примечание. Иногда команда Проверка данных может быть недоступна:
- Возможно, в настоящее время вводятся данные. Во время ввода данных в ячейку команда Проверка данных недоступна. Чтобы завершить ввод данных, нажмите клавишу ВВОД или ESC.
- Возможно, лист защищен или является общим. Если лист защищен или является общим, изменить параметры проверки данных невозможно. Снимите защиту или отмените режим «общий».
- Возможно, таблица Excel связана с узлом SharePoint. Невозможно добавить проверку данных в таблицу Excel, которая связана с узлом SharePoint. Чтобы добавить проверку данных, необходимо удалить связь таблицы Excel или преобразовать ее в диапазон.
К сожалению, Excel в своем стандарте позволяет делать списки только на основе:
- имени массива
- диапазона ячеек
- прямого перечисления элементов списка (рис. 2).
Примечание. Элементы списка вводите через стандартный разделитель элементов списка Microsoft Windows (в русском Excel по умолчанию это точка с запятой).
Рис. 2. Возможные источники списка: вверху – имя массива; посередине – диапазон ячеек; внизу – элементы списка
Попытка ввести формулу в поле Источник диалогового окна Проверка вводимых значений заканчивается неудачей (рис. 3). Видно, что Excel не воспринял значение ячейки D2 ( " цвет " ), как имя массива, и просто включил это значение в качестве единственного элемента списка.
Рис. 3. Недопустимый источник списка – формула
Примечания. Ширина раскрывающегося списка определяется шириной ячейки, для которой применяется проверка данных. Ширину ячейки можно настроить так, чтобы не обрезать допустимые записи, ширина которых больше ширины раскрывающегося списка.
Убедитесь, что установлен флажок Список допустимых значений. В противном случае рядом с ячейкой не будет отображена стрелка раскрывающегося списка. Хотя ограничение на ввод значений в ячейку работать будет.
Чтобы указать, как обрабатывать пустые (нулевые) значения, установите или снимите флажок Игнорировать пустые ячейки. При включенном флажке ячейку можно будет оставить пустой.
Если допустимые значения заданы именем диапазона ячеек, среди которых имеется пустая ячейка, установка флажка Игнорировать пустые ячейки позволит вводить в проверяемую ячейку любые значения.
После изменения процедуры проверки одной ячейки можно автоматически применить эти изменения ко всем остальным ячейкам, имеющим такие же параметры. Для этого откройте диалоговое окно Проверка данных и на вкладке Параметры установите флажок Распространить изменения на другие ячейки с тем же условием.
И всё же в Excel есть одна функция непрямого действия. На английском языке у нее говорящее название – INDIRECT. На русском – название функции ни о чем – ДВССЫЛ… В чем же заключается непрямое действие? В отличие от других функций Excel, ДВССЫЛ возвращает не значение, хранящееся в ячейке, а ссылку, хранящуюся в ячейке. Непонятно? Сам «продирался» через это с трудом 🙂 Попробую пояснить. Вот что написано в справке Excel: ДВССЫЛ – возвращает ссылку, заданную текстовой строкой. Ссылки немедленно вычисляются для вывода их содержимого (рис. 4).
Рис. 4. Как работает функция ДВССЫЛ: вверху – формулы, внизу – значения
Понимаю, что если вы впервые столкнулись с функцией ДВССЫЛ, то разобраться сложно. Пробуйте, экспериментируйте, и понимание со временем придет.
Итак, еще раз, ДВССЫЛ возвращает ссылку, а не значение, хранящееся в ячейке. Ссылка немедленно вычисляется, и выводится ее значение (или содержимое). Именно это свойство позволит нам ввести непрямую ссылку на соседнюю ячейку так, что вернется не значение, хранящееся в этой соседней ячейке (как на рис. 3), а ссылка, хранящаяся в ячейке, эта ссылка тут же вычисляется, и получается имя массива (рис. 5).
Рис. 5. Формирование списка, зависящего от значения в левой ячейке
Примечание. Ссылка в формуле =ДВССЫЛ(D2) должна быть относительной (D2), а не абсолютной ($D$2). Подробнее об этом см. раздел Тип ссылок на ячейки в формулах для проверки данных заметки Excel. Проверка данных.
Если настоящая заметка не подсказала вам путь к решению вашей проблемы, рекомендую почитать Связанные (зависимые) выпадающие списки (обратите также внимание на многочисленные комментарии к ней).
Как разбить текст по пробелу / запятой / разделителю в Excel?
Если у вас есть список столбцов с данными, и вы хотите разделить их на несколько столбцов с помощью определенного разделителя, как на приведенных ниже снимках экрана, как вы можете разделить их в Excel? Возможно, некоторые из пользователей думают только о функции Text to Column, но теперь я представлю вам не только функцию Text to Columns, но и код VBA.
Разделение текстовых строк на несколько столбцов с помощью пробела / запятой / разделителя с помощью функции текста в столбцы
Функция преобразования текста в столбцы очень полезна для разделения списка на несколько столбцов в Excel. Этот метод говорит о том, как разделить данные по указанному разделителю с помощью функции Text to Column в Excel. Пожалуйста, сделайте следующее:
1. Выберите список столбцов, который вы хотите разделить по разделителю, и нажмите Данные > Текст в столбцы. Смотрите скриншот:
2. Затем Мастер преобразования текста в столбцы появляется диалоговое окно и проверьте разграниченный и нажмите Далее кнопка. Смотрите скриншот:
3. В открывшемся диалоговом окне «Мастер преобразования в текст в столбцы - шаг 2 из 3» проверьте разделитель, по которому необходимо разделить данные.
Внимание: Если вам нужно разделить текстовую строку специальным разделителем, проверьте Другое вариант, а затем введите разделитель в следующее поле.
4. Нажмите Завершить. Теперь вы можете видеть, что список выбранных столбцов был разделен на несколько столбцов указанным разделителем.
Извлекать числа (или текст) только из одной ячейки / столбца в разные столбцы / строки
Kutools for Excel улучшает Разделить клетки утилита и поддерживает пакетное извлечение всех текстовых символов или чисел из одной ячейки / столбца в два столбца / строки. Полнофункциональная бесплатная 30-дневная пробная версия!
Kutools for Excel - Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Get It Now
Разделите текстовые строки на несколько строк / столбцов по пробелу / запятой / разделителю с помощью Kutools for Excel
Вышеупомянутый метод может только разбивать текстовые строки на несколько столбцов. Этот метод представит Kutools for Excel's Разделить клетки утилита для простого разделения текстовых строк на несколько строк или столбцов с помощью указанного разделителя в Excel.
Kutools for Excel - Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Бесплатная пробная версия сейчас!
Kutools for Excel - Combines more than 300 Advanced Functions and Tools for Microsoft Excel
1. Выберите диапазон, в котором вы хотите разделить текстовые строки (в нашем случае мы выбираем диапазон A1: A9), и нажмите Кутулс > Текст > Разделить клетки.
2. В открывшемся диалоговом окне «Разделить ячейки» установите флажок Разделить на строки Вариант или Разделить на столбцы варианты, которые вам нужны в Тип раздел, затем укажите разделитель в Укажите разделитель и нажмите Ok кнопка. Смотрите скриншот выше:
Появится еще одно диалоговое окно «Разделить ячейки», выберите первую ячейку целевого диапазона и нажмите кнопку OK кнопку.
Kutools for Excel - Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Get It Now
Демонстрация: разделение текстовых строк на несколько строк / столбцов пробелом / запятой / разделителем
Как преобразовать список столбцов в список, разделенный запятыми в Excel?
Если вы хотите преобразовать список столбцов данных в список, разделенный запятой или другими разделителями, и вывести результат в ячейку, как показано ниже, вы можете сделать это с помощью функции СЦЕПИТЬ или запустив VBA в Excel.
- Преобразование списка столбцов в список, разделенный запятыми, с помощью функции TEXTJOIN
- Преобразование списка столбцов в список, разделенный запятыми, с помощью функции CONCATENATE
- Преобразование списка столбцов в список, разделенный запятыми, с помощью VBA
- Преобразование списка столбцов в список, разделенный запятыми, с помощью Kutools for Excel
Преобразование списка столбцов в список, разделенный запятыми, с помощью функции TEXTJOIN
Функция Excel TEXTJOIN объединяет несколько значений из строки, столбца или диапазона ячеек с определенным разделителем.
Обратите внимание, что эта функция доступна только в Excel для Office 365, Excel 2021 и Excel 2019.
Чтобы преобразовать список столбцов в список, разделенный запятыми, выберите пустую ячейку, например, ячейку C1, и введите эту формулу =ТЕКСТСОЕДИНИТЬ(", ",ИСТИНА,A1:A7) (A1: A7 это столбец, который вы преобразуете в список с запятыми, , указывает, как вы хотите разделить список). Смотрите скриншот ниже:
Преобразование списка столбцов в список, разделенный запятыми, с помощью функции CONCATENATE
В Excel функция СЦЕПИТЬ может преобразовать список столбцов в список в ячейках, разделенных запятыми. Пожалуйста, сделайте следующее:
1. Выберите пустую ячейку рядом с первыми данными списка, например ячейкой C1, и введите эту формулу = СЦЕПИТЬ (ТРАНСПОРТ (A1: A7) & ",") (A1: A7 это столбец, который вы преобразуете в список с запятыми, »,« указывает разделитель, который вы хотите разделить список). Смотрите скриншоты ниже:
2. Выделите ТРАНСПОРТ (A1: A7) & "," в формуле и нажмите F9 ключ.
3. Убрать фигурные скобки и > из формулы и нажмите Enter ключ.
Теперь вы можете видеть, что все значения в списке столбцов преобразованы в список в ячейке и разделены запятыми. Смотрите скриншот выше.
Быстро преобразовать список столбцов в список, разделенный запятыми, с помощью Kutools for Excel
Kutools для Excel Комбинируйте столбцы или строки без потери данных Утилита может помочь пользователям Excel легко объединить несколько столбцов или строк в один столбец / строку без потери данных. Кроме того, пользователи Excel могут заключать в эти комбинированные текстовые строки каретку или жесткий возврат. Полнофункциональная бесплатная 30-дневная пробная версия!
Преобразование списка столбцов в список, разделенный запятыми, с помощью VBA
Если функция CONCATENATE немного утомительна для вас, вы можете использовать VBA для быстрого преобразования списка столбцов в список в ячейке.
1. Держать ALT и нажмите F11 на клавиатуре, чтобы открыть Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > Модули, и скопируйте VBA в модуль.
VBA: преобразовать список столбцов в список, разделенный запятыми
3. Нажмите Run или нажмите F5 для запуска VBA.
4. На экране появится диалоговое окно, в котором вы можете выбрать список столбцов, который хотите преобразовать. Смотрите скриншот:
5. Нажмите OK, затем появилось еще одно диалоговое окно для выбора ячейки. Смотрите скриншот:
6. Нажмите OK, и все значения в списке столбцов были преобразованы в список, разделенный запятой в ячейке.
Функции: В приведенном выше VBA "," указывает на нужный разделитель, и вы можете изменить его по своему усмотрению.
Преобразование списка столбцов в список, разделенный запятыми, с помощью Kutools for Excel
Вы также можете применить Kutools for Excel's Сочетать утилита для объединения списка столбцов и простого разделения каждого значения запятой.
Kutools for Excel - Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Get It Now
1. Выберите список столбцов, который вы преобразуете в список, разделенный запятыми, и нажмите Кутулс > Слияние и разделение> Объединение строк, столбцов или ячеек без потери данных.
2. В открывшемся диалоговом окне Объединить столбцы или строки вам необходимо:
(1) Проверьте Объединить ряды вариант в Чтобы объединить выбранные ячейки в соответствии со следующими параметрами раздел;
(2) В Укажите разделитель раздел, проверьте Другой разделитель вариант и введите запятую , в следующее поле;
3, Нажмите Ok кнопку.
Теперь вы увидите, что все значения в указанном списке столбцов объединены в одну ячейку и преобразованы в список, разделенный запятыми.
Kutools for Excel - Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Get It Now
Демо: преобразование списка столбцов в список, разделенный запятыми в Excel
Обратное объединение и преобразование одной ячейки (зазубренный список с запятыми) в список строк / столбцов в Excel
Обычно пользователи Excel могут применять Текст в столбцы функция разбить одну ячейку на несколько столбцов, но нет прямого метода преобразования одной ячейки в несколько строк. Однако Kutools для Excel Разделить клетки Утилита может помочь вам легко сделать это, как показано на скриншоте ниже. Полнофункциональная бесплатная 30-дневная пробная версия!
В некоторых случаях вам может потребоваться разделить значения выбранных ячеек, разделенных запятыми, на строки или столбцы. Здесь мы познакомим вас с тремя способами детального решения этой проблемы.
Разделить значения, разделенные запятыми, на столбцы с помощью функции Text to Columns
Вы можете применить функцию «Текст в столбцы» для разделения значений выбранных ячеек, разделенных запятыми, на столбцы. Пожалуйста, сделайте следующее.
1. Выберите диапазон ячеек, значения которого вы хотите разделить на столбцы, а затем щелкните Данные > Текст в столбцы. Смотрите скриншот:
2. В первом Мастер преобразования текста в столбцы в диалоговом окне выберите разграниченный вариант, а затем щелкните Далее кнопку.
3. В секунду Мастер преобразования текста в столбцы диалоговое окно, только отметьте Запятая коробка в Разделители и нажмите Далее кнопку.
4. В последний Мастер преобразования текста в столбцы диалоговом окне выберите ячейку для размещения значений разделения в Destination поле и, наконец, щелкните Завершить кнопка. Смотрите скриншот:
Теперь все значения в выбранных ячейках, которые были разделены запятыми, разделены на разные столбцы, как показано ниже.
Как правило, Текст в столбцы функция только разбивает ячейки на отдельные столбцы, если вы хотите разбить ячейки на строки, как вы можете это сделать?
Здесь Kutools for Excel's Разделить клетки Утилита может помочь вам быстро разделить ячейки по пробелу, запятой, новой строке, другим разделителям или определенной ширине не только на отдельные строки, но и на столбцы в Excel. Загрузите Kutools for Excel прямо сейчас! (30-дневная бесплатная трасса)
Разделить значения, разделенные запятыми, на строки с кодом VBA
Для разделения значений, разделенных запятыми, на строки можно применить следующий код VBA.
1. нажмите другой + F11 клавиши одновременно, чтобы открыть Microsoft Visual Basic для приложений окно.
2. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули. Затем скопируйте и вставьте приведенный ниже код VBA в окно модуля.
Код VBA: разделить значения, разделенные запятыми, на строки
3. нажмите F5 ключ для запуска кода. В всплывающем Kutools for Excel диалоговом окне выберите ячейки, которые хотите разделить, а затем щелкните значок OK кнопку.
4. Во втором выскакивающем Kutools for Excel диалоговом окне выберите ячейку для размещения значений разделения, затем щелкните OK.
Затем вы можете увидеть, что значения, разделенные запятыми, в выбранных ячейках разделены на строки, как показано ниже.
Быстро разделяйте значения, разделенные запятыми, на строки или столбцы с помощью Kutools for Excel
T he Разделить клетки полезности Kutools for Excel может помочь вам легко разделить значения, разделенные запятыми, на строки или столбцы.
1. Выберите ячейки, которые необходимо разделить, и нажмите Кутулс > Слияние и разделение > Разделить клетки. Смотрите скриншот:
2. в Разделить клетки диалоговое окно, выберите Разделить на строки or Разделить на столбцы в Тип раздел как вам нужно. И в Укажите разделитель выберите Другое вариант, введите символ запятой в текстовое поле, а затем щелкните OK кнопка. Смотрите скриншот:
3. И затем появится другое окно с подсказкой, чтобы напомнить вам выбрать ячейку для вывода результата, см. Снимок экрана:
4. Нажмите OK кнопку, вы можете увидеть результаты, как показано на скриншотах ниже.
Разделить на столбцы
Разделить на строки
Если вы хотите получить бесплатную (30-дневную) пробную версию этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Задача: Создать выпадающий список в Excel таким образом, чтобы в него автоматически попадали все новые значения. Сделаем это при помощи формул, чтобы этот способ можно было использовать не только в Excel 2007 и старше, но и в Excel 2003.
Как обычно, создадим на листе нашей рабочей книги диапазон допустимых значений для выпадающего списка. Расположим их в столбце с таким расчетом, чтобы в конец этого перечня можно было дописывать новые позиции. Пусть это будет столбец А.
Попробуем при помощи функции СМЕЩ (OFFSET) имитировать работу "умной" таблицы Excel. Это нам может быть полезно также в тех случаях, когда приходится использовать старые версии Excel до 2007 года.
Формула источника будет выглядеть следующим образом:
Давайте разберемся, как она работает.
Функция СМЕЩ формирует ссылку на диапазон заданного размера. Размер этот определяется четырьмя параметрами - A, B, C, D и начальной точкой отсчета.
А2 - это начальная ячейка, по отношению к которой будет выделен наш диапазон. Он всегда задается двумя координатами - левой верхней и правой нижней. Подразумевается, что начало диапазона (левый верхний его угол) будет находиться или в начальной ячейке, или чуть ниже и правее нее. На нашем рисунке это зелёная область. Параметр А показывает, на сколько ячеек вниз нам нужно опуститься. Параметр В - на сколько сдвинуться вправо. Если, как в нашем случае, они оба равны нулю, значит в нашей начальной ячейке и будет находиться левая верхняя точка.
И теперь нужно определить правую нижнюю точку. Теперь уже от начальной точки диапазона делаем С шагов вниз и D шагов вправо. В нашем примере D=1. То есть нам нужен только один столбец. Осталось только определиться, сколько шагов вниз нужно сделать, сколько строк взять в наш список. Нам нужна последняя заполненная строка в столбце А. Точнее, не сама строка, а ее порядковый номер.
Здесь нам поможет вторая функция - СЧЕТЗ (COUNTA). Она подсчитывает количество значений в заданном нами диапазоне A2:A200. Можно взять и более удаленные координаты, но думается, что 200 строк в списке будет вполне достаточно. Естественно, вместо ссылки можно использовать именованный диапазон.
В нашем примере мы имеем 8 значений. Значит, возьмем 8 строк, начиная с А2. То есть, A2:A9.
Если в ячейке А10 появится новое значение, тогда значений станет уже 9. Соответственно диапазон автоматически расширится до A2:A10. И так далее.
Но будьте внимательны! Если вы случайно пропустите строку и введете новое значение не в конец списка, а несколько ниже, то наша стройная система даст сбой. Диапазон значений для раскрывающегося списка увеличится, но захватит пустую ячейку. А наша последняя запись останется вне списка, расширение не дотянется до нее. Ведь в нашем случае мы имеем 9 значений и 10 строк. Естественно, последняя строка из списка выпадает.
Возможно, этот способ создания автоматически пополняемого выпадающего списка будет для вас удобен. Тем более, что на его основе можно делать и другие интересные вещи. Но об этом - в наших следующих материалах.
А вот еще о работе с выпадающими списками в Excel:
Как сделать зависимый выпадающий список в Excel? - Одной из наиболее полезных функций проверки данных является возможность создания выпадающего списка, который позволяет выбирать значение из предварительно определенного перечня. Но как только вы начнете применять это в своих таблицах,…
5 способов создания выпадающего списка в ячейке Excel - Одной из наиболее полезных функций при вводе данных является возможность использовать выпадающий список. Он позволяет выбирать значение из предварительно определенного перечня и разрешает вводить только те данные, которые соответствуют вашим…
Читайте также: