Я хотел бы использовать значение внутри ячейки, которая постоянно обновляется с веб-страницы. Ячейка с именем C20 связана с другим листом, называемым ratedatasheet и этот лист отображает страницу и таблицу с сайта в Интернете.

Я хочу использовать значение внутри C20 (связано как RATEDATASHEET.A79) в формуле, такой как эта:

=IF(E24=0;A24*C20;A24*C24)

Эта формула помещается в ячейку B24, и в результате я получаю только #VALUE! ошибка. Я пытался удалить буквы из исходной ячейки, но это не помогло.

Что я делаю неправильно?

ОБНОВИТЬ

Я попробовал обе формулы, упомянутые ниже:

IF(E24=0;A24*(value(C20));A24*C24)

а также

IF(E24=0;A24*(indirect(C20));A24*C24)

взамен я сталкиваюсь с ERR502 и, как я вижу из руководства, это означает: «Аргумент функции имеет недопустимое значение, например, отрицательное число для корневой функции.'

Ячейка C20 содержит значение, например «2,820250 TL», которое постоянно обновляется другим листом, называемым «рейтинговая таблица». Формула находится внутри ячейки B24, где я хочу увидеть результат.

PrtSC таблицы

ОБНОВЛЕНИЕ 2

Хорошо, новая формула, которую я попробовал, это IF(E24=0;A24*VALUE(LEFT(C20;FIND(",";C20)-1));A24*C24) Это помогло извлечь "2" из значение внутри C20 (2826250 TL) Мне также нужно работать над реализацией остальной части значения (0,826250 TL). Ваши предложения по этому вопросу приветствуются!

ЗАКЛЮЧИТЕЛЬНОЕ ОБНОВЛЕНИЕ

Кто-нибудь может объяснить мне интерпретацию этой формулы, которая сработала для меня, пожалуйста ?!

IF(E24=0;A24*VALUE(LEFT(C20;FIND(" ";C20;1)-4))/1000;A24*C24)

2 ответа2

1

В ЗАКЛЮЧЕНИЕ,

Изучив, как работают функции, я пришел к следующей формуле, которая короче и дает именно тот результат, который необходим. Надеюсь, это кому-нибудь поможет.

=IF(E24=0;A24*VALUE(SUBSTITUTE(LEFT(C20;8);",";"."));A24*C24)
  • Не требуется использование функции «НАЙТИ» или деление на 1000.

  • Число «8» в формуле означает «слева направо» все 8 символов (т. Е. 2826250). Таким образом, мы избегаем «пробела» и т.д. Таким образом, поскольку он находится в строке 9.

  • Заменяющая формула меняет ',' на '.' сделать возможным вычисление, так как компьютер использует '.' для расчета. Несмотря на эту замену, результат формулы содержит "," в качестве десятичного разделителя. Итак, мы все равно получаем то, что хотим. (Запятая используется в качестве десятичного разделителя в моей стране)

Используя этот метод, вы можете использовать внешние онлайн-данные внутри ваших формул для проведения расчетов. VALUE(SUBSTITUTE(LEFT(C20;8);",";".")) - это часть вышеупомянутой формулы, которая превращает необработанные данные в значение, которое можно использовать для расчетов

ОБНОВЛЕНИЕ: Ячейка C20 содержит необработанные данные (2826250 TL), полученные из веб-страницы с помощью функции Calc "Ссылка на внешние данные".

Спасибо авторам

1

С дополнительной информацией из ваших правок становится очевидным, что ваша проблема состоит из двух частей:

  • Содержимое C20 отформатировано как текст и должно быть преобразовано в форматирование чисел перед использованием в расчете
  • Содержимое C20 содержит текстовые символы, которые необходимо удалить перед тем, как преобразование в число может быть успешным

Если содержимое всегда будет в формате "числовой текст", вы можете выполнить поиск пробела и убрать пробел и текстовые символы, следующие за ним, прежде чем преобразовать в число. Что-то вроде

=IF(E24=0;A24*VALUE(LEFT(C20;FIND(" ";C20)-1));A24*C24)

редактировать

Из UPDATE2 кажется, что текстовая ячейка содержит число с a , как десятичную метку, в то время как локаль OP использует a . как десятичный знак и , как разделитель тысяч. OP обнаружил , что если они ограничили число после десятичного знака цифр до 3 , что функция VALUE будет , как разделитель, а число можно разделить на 1000 , чтобы переместить десятичную отметку в нужном месте.

Решение, которое позволило бы избежать обрезания трех последних десятичных разрядов, заключалось бы в использовании SUBSTITUTE для замены , на . перед запуском функции VALUE :

=IF(E24=0;A24*VALUE(SUBSTITUTE(LEFT(C20;FIND(" ";C20)-1);",";"."));A24*C24)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .