Сумма возвращается 0 в Excel

12

Я работаю с электронной таблицей Excel, и когда я использую формулу SUM в ячейке, а затем выбираю столбцы, она возвращается 0. Я думаю, что это связано с двойными кавычками в ячейке. Я пытался отформатировать ячейки, но все равно возвращается 0.

Я использую Microsoft Office 2010

Снимок экрана с результатом

Haithem Rihane
источник

Ответы:

5

Чтобы удалить двойные кавычки, выберите ячейки для преобразования и используйте, Find->Replaceчтобы изменить кавычку ( ") на ничто.

Если ячейки остаются в виде текста, вот метод , который преобразует текст в числа с помощью Paste Specialкоманды.

  1. В любой пустой ячейке введите значение 1
  2. Убедитесь, что ячейка, в которой вы ввели 1, отформатирована как число
  3. Выберите ячейку с 1 и Copy
  4. Выберите ячейки со значениями, которые вы хотите преобразовать в числа
  5. выбирать Paste Special
  6. Под Operation, нажмите, Multiplyа затем нажмитеOK
creidhne
источник
Проблема не в кавычках. Кавычки, показанные на скриншоте, здесь, потому что значения являются текстами, а не числами, и значение не содержит кавычек. Причина в том, что во французском языке, ,десятичный разделитель, а не .. Значения, такие 123.45как тексты, и не могут быть суммированы. Умножение на 1, как вы предлагаете, в этом случае также не сработает, потому что это не ситуация «числа, хранящиеся как текст», а ситуация «текст, хранящийся как текст». Если вы замените точки на запятые, Excel преобразует тексты в реальные числа (это относится только к французскому языку).
Пико
7

«Числа», которые вы пытаетесь добавить, - это тексты , а не цифры.

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

К сожалению, не существует простого способа исправить это двумя щелчками - изменение формата ячеек не приведет к соответствующему изменению содержимого, вам необходимо будет повторно ввести каждое значение. Однако есть несколько способов исправить это:

  1. Если вы загрузили данные из CSV или другого источника, отличного от Excel, проще всего повторить это и пометить столбец как «Число» вместо «Текст». Для этого откройте пустой лист Excel, перейдите в «Данные / Из текста» и следуйте указаниям мастера. На шаге 3/3 обязательно щелкните столбец и выберите «Общие», а не «Текст».

  2. если это не вариант, вы можете использовать вспомогательный столбец (например, рядом со значениями), ввести =VALUE(E1)F1 и скопировать его вниз. Этот столбец теперь будет суммируемым. Затем вы также можете скопировать содержимое столбца F и «Только вставка / значения» в столбец E, а затем удалить вспомогательный столбец.

  3. Третий вариант - объединить это в формулу Array: вместо =SUM(E10:E13)использования =SUM(VALUE(E10:E13))и нажмите CTRLSHIFTENTER(вместо только ENTER).

Aganju
источник
Я пытался с 2 и 3 решением, но =SUM(VALUE(E10:E13))ошибка возврата, так что нет решения. Но, как правило, файл отформатирован в CSV, есть ли способ преобразовать его в .xlsx и пометить столбец как Number. Спасибо еще раз
Haithem Rihane
@ fixer1234 Мне кажется, это было предложено в ответе.
techraf
@ techraf, да. Я пытался ответить на комментарий ОП, но мой комментарий только добавил путаницу.
fixer1234
@techraf и @Aganju Я даже применил функцию VALUE к каждой ячейке, но она по-прежнему возвращает ошибку=SUM(VALUE(E10):VALUE(E13))
Haithem Rihane
@HaithemRihane, это не может работать, это не формула Array таким образом. Следовали ли вы инструкции с помощью комбинации клавиш CTRL + SHIFT + RET? Результат будет отображаться так, как ={SUM(VALUE(E10:E13))}будто вы никогда не вводили {}. Я также добавил подробные инструкции для 1.
Aganju
3

Я также использую Excel с французским языком и часто сталкиваюсь с этой проблемой с файлами CSV. Как объясняли другие, французские числа используют запятую в качестве десятичного разделителя, а число, подобное 123.45, интерпретируется Excel как текст.

Самый быстрый способ , чтобы обойти это, чтобы заменить .с ,. Вы можете сделать это быстро с Find / Replace, как предложено Дэвидом.

Для тех, кто сталкивается с этой проблемой довольно часто, вы можете использовать этот фрагмент кода ( адаптированный из этого ответа ), сохранить его в вашей ЛИЧНОЙ книге и назначить его кнопке на ленте:

Sub Comas2Dots()
    Application.ScreenUpdating = False
    If (MsgBox("Do you want to replace comas by dots?", vbOKCancel) = vbOK) Then
        Const sTEMPCOMMA = "|comma|"
        Const sTEMPDOT = "|dot|"
        Const sCOMMA = ","
        Const sDOT = "."

        If TypeName(Selection) = "Range" Then
            With Selection
                .Replace sCOMMA, sTEMPCOMMA, xlPart
                .Replace sDOT, sTEMPDOT, xlPart
                .Replace sTEMPCOMMA, sDOT, xlPart
                .Replace sTEMPDOT, sCOMMA, xlPart
            End With
        End If
    End If
    Application.ScreenUpdating = True
End Sub

Надеюсь, что это помогает людям, испытывающим эту ненужную проблему!


Дополнительная документация

  1. Как назначить макросы на ленте
  2. Скопируйте свои макросы в личную книгу макросов
Piko
источник
2

Ячейки, которые вы пытаетесь добавить, не отображаются как числа. Это потому что есть полная остановка "." а не запятая "," для представления десятичной части числа.

Более быстрый способ исправить это - использовать функцию find (ctrl F), find all "." и заменить на ",".

Дэвид
источник
@ fixer1234 на самом деле, Дэвид прав. Во французском языке, который у меня также есть, запятая является десятичным разделителем. Период вообще не используется для чисел. Проблема ОП заключается в том, что цифры на самом деле являются текстовыми, и для исправления их необходимо заменить .на ,. Конечно, это относится только к французскому (и подобному) языку.
Пико
1
  1. Выделите столбец, который вы пытаетесь суммировать, щелкните правой кнопкой мыши и отформатируйте ячейки.

  2. Выберите Number, но не забудьте установить десятичные разряды на 0, если это не относится к значению. Теперь, хотя вы изменили формат столбца, это не означает, что столбец официально преобразовал все значения в числа, поэтому для решения этой проблемы сделайте следующее

  3. Снова выделите весь столбец и нажмите вкладку «Данные», затем «Текст в столбцы».

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

  1. Выберите с разделителями, нажмите Далее

  2. Снимите флажок Tab и просто нажмите Next введите описание изображения здесь

  3. Нажмите Готово

Сумма теперь должна отражать число!

Анжела Смит
источник
-1

Откройте новый лист Excell. отформатируйте лист как числа, удалите десятичные дроби, если они вам не нужны. затем скопируйте исходный лист и вставьте его как значения только в тот лист, который вы форматируете только в числа. Если вам нужно решить вашу проблему, вам, возможно, придется отформатировать некоторые листы для датирования или что-то еще, что вам нужно, и сделать все по вашим коробкам, если вы их разделили, но ваши формулы должны работать глупо, и я потратил полдня на выяснение его проблемы.

Сэм
источник
-1

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

Калий
источник