Как ограничить длину данных в ячейке в Google Sheets?

9

Можно ли ограничить длину содержимого ячейки при вводе данных в ячейку с помощью Google Apps Script или любым другим способом?

Мерт Нухоглу
источник
1
Не во время входа. Покидая это возможно.
Джейкоб Ян Туинстра

Ответы:

6

Следующий небольшой скрипт ограничивает ввод ячейки 5 позициями и добавляет излишки в виде примечания к ячейке.

Код

function onEdit(e) {
  var limit = 5;
  if(e.value.length > limit) {
    e.range.setValue(e.value.substring(0, limit) + "...");
    e.range.setNote("Remaining text was: \n....." + e.value.substring(limit));
  }
}

Разъяснения

При каждом редактировании onEdit(e)срабатывает триггер, и каждый раз он будет проверять, имеет ли значение ячейки ( e.value) длину больше 5. Если это так, активная ячейка получит новое значение не более чем на 5 позиций ( setValue& substring(0,5)). Остальная часть текста добавляется как примечание.

Скриншот

введите описание изображения здесь

пример

Я создал для вас файл примера: Ограничение ввода в ячейку
Добавьте код в меню «Инструменты»> «Редактор сценариев» в меню электронной таблицы. В редакторе сценариев вставьте код и нажмите кнопку сохранения.

Джейкоб Ян Туинстра
источник
6

Используйте проверку данных с пользовательской формулой.

Если ячейка для ограничения длины значения равна A1, а предел длины равен 5, тогда пользовательская формула

=LEN(A1)<=5

Ссылки

Рубена
источник
Как объединить это с текстом, не содержащим "XYZ, ABC"?
shadowz1337
1

Следующая формула ограничивает ввод ячейки 10 позициями.

Если ячейка для ограничения значения длины равна A2, а предел длины равен 10, тогда пользовательская формула

=LEFT(A2,10)

Пример:

пример 1 формулы

Результат:

пример 1 результат

Выполнено. Но если вы хотите добавить многоточие после результата, вы можете отредактировать следующее:

=CONCATENATE(""&LEFT(A2,10)&" ...")

Результат:

пример 2 результат

Taufan
источник
0

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

Если A1 - это ячейка, которую мы ограничиваем количеством слов, а 10 - максимальное количество слов, то формула будет такой:

= COUNTA (SPLIT (A1, "")) ‹= 10

Ссылки:

GrapesInASalad
источник
1
По сути, такой же, как этот другой ответ, но с запутанной формулой.
Рубен
Фактически, этот ответ заключается в ограничении строк числом символов, формула I разделяет ограничения по словам. Но да, гораздо более запутанный.
GrapesInASalad