Как использовать формулу для чисел, извлеченных из текстовых данных - PullRequest
0 голосов
/ 28 января 2019

Элементарный пример моей проблемы с книгой Excel (французская версия) :

В A1: 53,00

В A2: 12,50 EUR

В B1 формула: =DROITE(A1;NBCAR(A1)-4) дает 53,00

В B2 аналогично: =DROITE(A2;NBCAR(A2)-4) дает 12,50

Теперь, в B3, я использую формулу: =somme(B1:B2) тогда получается 0,00

Аналогично, если я использую формулу: =produit(B1:B2), это также дает 0,00

Однако: = B1+B2 дает правильное значение 65,50

Кажется, что формулы не могут быть вычислены, или они интерпретируют целые числа как строки (?).Конечно, я пробовал разные способы форматирования ячеек, чтобы они были целыми числами, но безрезультатно.Любая идея для решения этой проблемы будет высоко оценена.

Ответы [ 2 ]

0 голосов
/ 28 января 2019

Обнаружено, что можно использовать CNUM, чтобы сказать, что «текст» - это «число».

Таким образом, используйте в B1: = CNUM (DROITE (A1; NBCAR (A1) -4)) и аналогично в B2.

Функции теперь корректно применяются к этим числам.

Это противоречиво, поскольку = B1 + B2 работало: в этом случае B1 и B2 были правильно распознаны как числа.Но, по крайней мере, вышеперечисленные ремонтные работы.

Это Microsoft, чего вы можете ожидать ...

0 голосов
/ 28 января 2019

Когда вы выполняете свою первую операцию, это строковая операция.Вы тянете строку из части строки.Другими словами, вы вытягиваете часть текста из большего фрагмента текста.Хотя ваш текст может выглядеть как числа, они все равно являются числами, хранящимися как текст.

Когда числа в виде текста и логических значений ИСТИНА и ЛОЖЬ отправляются посредством математической операции, они автоматически преобразуются в число автоматически.К сожалению, Sum (Somme) и Product (Produit) являются функциями, а не математическими операторами.Некоторые функции могут быть настроены для работы с числами в виде строк, другие - нет.

Для решения вашей ситуации у вас есть несколько вариантов.Получив ваш номер в виде строки, вы можете отправить его с помощью математической операции, которая не повлияет на его значение, например * 1, / 1, +0, или вы можете использовать функцию VALUE.Попробуйте следующие настройки и посмотрите, работают ли они для вас:

DROITE(A1;NBCAR(A1)-4)*1

CNUM(DROITE(A1;NBCAR(A1)-4))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...