Можно ли ограничить длину содержимого ячейки при вводе данных в ячейку с помощью Google Apps Script или любым другим способом?
Можно ли ограничить длину содержимого ячейки при вводе данных в ячейку с помощью Google Apps Script или любым другим способом?
Ответы:
Следующий небольшой скрипт ограничивает ввод ячейки 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)
). Остальная часть текста добавляется как примечание.
Я создал для вас файл примера: Ограничение ввода в ячейку
Добавьте код в меню «Инструменты»> «Редактор сценариев» в меню электронной таблицы. В редакторе сценариев вставьте код и нажмите кнопку сохранения.
Используйте проверку данных с пользовательской формулой.
Если ячейка для ограничения длины значения равна A1, а предел длины равен 5, тогда пользовательская формула
=LEN(A1)<=5
Ссылки
Следующая формула ограничивает ввод ячейки 10 позициями.
Если ячейка для ограничения значения длины равна A2, а предел длины равен 10, тогда пользовательская формула
=LEFT(A2,10)
Пример:
Результат:
Выполнено. Но если вы хотите добавить многоточие после результата, вы можете отредактировать следующее:
=CONCATENATE(""&LEFT(A2,10)&" ...")
Результат:
Мы также можем использовать проверку данных с пользовательской формулой, чтобы ограничить длину ячейки по ее количеству слов (иначе говоря, чтобы установить максимальное количество слов в ячейке).
Если A1 - это ячейка, которую мы ограничиваем количеством слов, а 10 - максимальное количество слов, то формула будет такой:
= COUNTA (SPLIT (A1, "")) ‹= 10
Ссылки: