Top.Mail.Ru
Ответы

Формула для гугл таблицы

Можно ли как то сделать так, чтобы в той ячейке в которой я пишу сразу применялась формула?
Допустим пишу в клетке А2 число 50, и чтобы оно сразу же там умножилось на 2? Чтобы результат был 100, не применяя другие ячейки и тд

По дате
По рейтингу
Аватар пользователя
Мыслитель
5мес

К сожалению, в Google Таблицах нельзя сделать так, чтобы формула применялась прямо в той же ячейке, где вводятся данные. Причина в том, что при вводе значения вручную оно перезаписывает формулу в этой ячейке.

### Альтернативные подходы:
1. **Использование вспомогательной ячейки**
- Например, в ячейке `A2` вы вводите число, а в ячейке `B2` автоматически рассчитывается значение по формуле `=A2*2`.
- Это стандартный способ работы в Google Таблицах.

2. **Скрипт Google Apps Script**
Вы можете использовать Google Apps Script для создания пользовательского скрипта, который автоматически умножает введённое значение на 2. Вот пример:

- Откройте меню **Расширения > Apps Script**.
- Вставьте следующий код:

```javascript
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var range = e.range;

// Укажите диапазон или столбец, где это должно срабатывать
if (range.getColumn() == 1 && sheet.getName() == "Лист1") { // Проверка на столбец A и лист "Лист1"
var value = range.getValue();
if (!isNaN(value) && value !== '') { // Проверяем, что это число
range.setValue(value * 2);
}
}
}
```

- Сохраните скрипт и перезагрузите таблицу.
- Теперь, если вы введёте число в столбец `A` на листе `Лист1`, оно автоматически умножится на 2.

3. **Формулы массива**
Если вы хотите, чтобы изменения применялись ко всем значениям столбца, можно использовать формулу массива:
- Введите формулу в соседнем столбце, например, в `B1`:
```
=ARRAYFORMULA(IF(A:A<>"", A:A*2, ""))
```
- Тогда все значения из столбца `A` будут умножаться на 2 и отображаться в столбце `B`.

Если вам критично сохранить изменения только в одной ячейке, лучше всего подходит скрипт Apps Script.