Невозможно изменить значения числовых ячеек с помощью Google Script

1

Здесь мой скрипт для некоторого листа Google:

function onEdit(e) {
  var value = e.range.getValue();
  if (~value.indexOf("*")) {
    e.range.setValue("with *");
  } else {
    e.range.setValue("without *");
  }
}

Когда я ввожу некоторую строку в ячейку - сценарий меняет значение на "с *" или "без *", но когда я меняю значение на "1", "1.5" или какая-то другая цифровая ячейка значения не меняются.

Как изменить числовые значения на "без *"?

Теги:
google-sheets

1 ответ

1
Лучший ответ

Я думаю, что когда вводятся числовые символы, такие как 1 и 1.5, value извлекается как число. Поэтому, чтобы работать с вашим скриптом, пожалуйста, преобразуйте value в строку.

Так вы можете попробовать следующее:

От:

if (~value.indexOf("*")) {

Для:

if (~value.toString().indexOf("*")) {

или же

if (~String(value).indexOf("*")) {

Извините, если я неправильно понимаю ваш вопрос.

  • 0
    Да, оба варианта работают, спасибо!
  • 0
    @Romman Ilin Добро пожаловать. И тебе спасибо.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню