Excel против онлайн-калькуляторов — автоматический расчет незаполненных значений... как?

Excel против онлайн-калькуляторов — автоматический расчет незаполненных значений... как?

Я хотел бы узнать, можно ли заставить Excel работать как некоторые онлайн-калькуляторы, которые я видел. Например:

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

Главное отличие заключается в том, что они спроектированы таким образом, что каждая «ячейка» калькулятора знает, было ли в нее введено значение, — затем она условно вычисляет свое значение в зависимости от его функциональной связи с другими (или нет).

Здесь используется кнопка «Рассчитать», однако есть примеры с динамическим обновлением в стиле Excel. В случае недостаточного количества значений и/или противоречивых значений об этом обычно сообщается. Однако это не является обязательной функцией (пока).

Я пытался реализовать подобное в Excel с помощью условных операторов, но обнаружил, что логика ячеек становится слишком сложной.быстрый. В моем случае это не помогло, так как значения в системе, которую я решаю (не в той, что выше), можно вычислить из разных подмножеств входных данных — можно сказать, что она «переопределена».

Есть ли в Excel опция или режим, позволяющий быстро и легко создать такой интерфейс?

Или, может быть, кто-то уже построил что-то подобное и готов поделиться своими приемами?

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

решение1

Это можно сделать следующим образом в Excel Worksheet с использованием VB

Мы знаем, что объем куба = длина * ширина * высота.

Давайте сделаем для этого калькулятор:

Учитывая любые 3, необходимо найти 4-е значение.

Создать рабочий лист Excel

В формате A1, A2, A3 Длина, Ширина, Высота. Оставьте A4 пустым В формате A5 Объем

Теперь создайте кнопку с помощью панели инструментов, щелкните ее правой кнопкой мыши и измените текст на «РАСЧЕТ», чтобы дать кнопке необходимое имя.

Теперь щелкните правой кнопкой мыши кнопку и назначьте макрос этой кнопке, создав команду «При нажатии кнопки» следующим образом:

Sub Button1_Click()

If Range("B1").Value = 0 
Then Range("B1").Value = Range("B5").Value / Range("B3").Value / Range("B2").Value

If Range("B2").Value = 0 
Then Range("B2").Value = Range("B5").Value / Range("B1").Value / Range("B3").Value

If Range("B3").Value = 0 
Then Range("B3").Value = Range("B5").Value / Range("B2").Value / Range("B1").Value

If Range("B5").Value = 0 
Then Range("B5").Value = Range("B1").Value * Range("B2").Value * Range("B3").Value

End Sub

решение2

Как вы уже поняли, сделать это с ячейками рабочего листа может быть немного сложно.

Но это довольно легко сделать с помощью VBA. Код может быть в событии Worksheet_Change, которое можно настроить на срабатывание при каждом изменении любой из четырех ячеек.

Логика проста: если ровно три ячейки имеют значение, определить, какая ячейка пуста, выполнить вычисление и поместить результат в эту ячейку.

Связанный контент