Преобразование текстовой строки с тире в отрицательное число

у онлайн-брокера, которого я использую, должен быть самый дисфункциональный веб-сайт во всем мире! Они не предоставляют функции "экспорт", вместо этого сообщая своим пользователям, что они могут просто копировать данные из таблиц, отображаемых в их браузере, и вставлять их в Excel. (На самом деле!)

удивительно, Excel (2016, для Mac) можно подтолкнуть к преобразованию "положительных текстовых чисел" в фактические числа, которые могут управляться числовыми функциями (SUM обычно). Однако, "отрицательные номера текста" имеют бросил вызов всем усилиям, которые я нашел, чтобы быть преобразованы в отрицательное число.

"положительное число текста": $123.45

"отрицательный номер текста": - $ 543.21 (обратите внимание на ведущий текст char hyphen)

EDIT:


"Отрицательное число текста" является: – $299.55 (обнаружил, что ведущий символ не a hyphen, может быть em dash


Приношу извинения за путаница... Теперь мне интересно, какие программисты могут использовать em dash вместо minus sign/hyphen на веб-странице, полной цифр, но это вопрос для моего онлайн-брокер.

Я могу преобразовать "положительное число текста" в ячейке A1 следующим образом:=VALUE(RIGHT(A1,6))

но это не работает на "отрицательное число текста". Он получает правильный номер, но теряет отрицательный знак. Я пытался изменить chars значение, но это не помогает.

Я также попытался следующее без успеха:


1. умножение на 1


2. текст в Столбцах


3. форматировать ячейки...

есть ли способ сделать это-кроме ручного повторного ввода?

5
задан Seamus
12.03.2023 19:26 Количество просмотров материала 2616
Распечатать страницу

2 ответа

если ячейка A1 содержит text в формате "$123.45" или "-$543.21", вы можете использовать следующую формулу, чтобы получить числовое значение.

=IF(LEFT(A1,1)="-",0-VALUE(RIGHT(A1,LEN(A1)-1)),VALUE(A1))

Если текст начинается с" -", это будет получить значение всего после " - " и сделать его отрицательным.

1
отвечен Blackwood 2023-03-14 03:14

Я бы рекомендовал:

  1. извлечь значение после $ знак, не использовать фиксированное положение
  2. Проверьте знак значения, проверяя символ непосредственно перед $ знак.

так что формула может быть

=IF(IF(ISERROR(FIND(MID(A1,FIND("$",A1)-1,1),"<dash><hyphen>")),3,FIND(MID(A1,FIND("$",A1)-1,1),"<dash><hyphen>"))<3,-MID(A1,FIND("$",A1)+1,LEN(A1)),0+MID(A1,FIND("$",A1)+1,LEN(A1)))

здесь

"<dash><hyphen>" - литерал с возможными отрицательными знаками (замените заполнители соответствующими символами в любом порядке, так что вы получите 2-символьный литерал в показанном случае)

3 - количество которое больше, чем количество символов в предыдущем литерале

эти значения можно заменить ссылкой на ячейку, содержащую все возможные знаки "минус" (например,Z1 и 1+LENGTH(Z1) соответственно).


обновление. Debugginig формула.

Создание таблицы на пустом листе.

вставить 4 различных значения в столбец (без / с пробелами в начале, положительные / отрицательные).

вставить ниже формулы:

Cell          Formula                      Meaning
-------------------------------------------------------------
$B          =IF(I1,-G1,0+G1)             Result
$C          =LEN(A1)                     Data length in source
$D          =FIND("$",A1)                $ position in source
$E          =MID(A1,D1-1,1)              symbol before $
$F          =FIND(E1,"<dash><hyphen>")   symbol before $ position in hyphens list
$G          =MID(A1,D1+1,C1)             number from source
$H          =ISERROR(F1)                 correction when no symbol before $ in list
$I          =IF(H1,3,F1)<3               define is a source positive or negative

скопируйте этот пакет формул в строки 2-4. Проверьте, что вы получили такой результат:

     A        B      C   D   E      F       G    H       I
1    3     123    4   1   #VAL!  #VAL!   123  TRUE    FALSE   
2    -4    -234   5   2   -      1       234  FALSE   TRUE    
3      5   345    6   3          #VAL!   345  TRUE    FALSE   
4      -6  -456   7   4   -      1       456  FALSE   TRUE    

столбцы C-I содержит отдельные шаги расчета, а столбец B содержит окончательную формулу со всеми заменами.

где ошибка расчета?

0
отвечен Akina 2023-03-14 05:31

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх