Как вернуть пустую ячейку в excel

  • Редакция Кодкампа

17 авг. 2022 г.
читать 1 мин


Вы можете использовать следующий базовый синтаксис, чтобы вернуть пустую ячейку вместо нуля при использовании формул Excel:

=IF( B2 / C2 =0, "", B2 / C2 )

Эта конкретная формула пытается разделить значение в ячейке B2 на значение в ячейке C2 .

Если результат равен нулю, Excel возвращает пустое значение. В противном случае Excel возвращает результат деления B2 на C2 .

В следующем примере показано, как использовать эту формулу на практике.

Пример: вернуть пустую ячейку вместо нуля в формуле Excel

Предположим, у нас есть следующий набор данных, который показывает общий объем продаж и возвратов для различных продуктов:

Предположим, мы вводим следующую формулу в ячейку D2 , чтобы рассчитать коэффициент возврата для продукта A:

= B2 / C2

Если мы скопируем и вставим эту формулу в каждую ячейку столбца D, мы увидим, что некоторые результаты равны нулю:

Чтобы вернуть пустое значение вместо нуля, мы можем ввести следующую формулу в ячейку D2 :

=IF( B2 / C2 =0, "", B2 / C2 )

Затем мы можем скопировать и вставить эту формулу в каждую оставшуюся ячейку в столбце D:

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

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в Excel:

Как игнорировать значения #N/A при использовании формул в Excel
Как заменить значения #N/A в Excel
Как исправить ошибку #ИМЯ в Excel

Написано

Редакция Кодкампа

Замечательно! Вы успешно подписались.

Добро пожаловать обратно! Вы успешно вошли

Вы успешно подписались на кодкамп.

Срок действия вашей ссылки истек.

Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.

Успех! Ваша платежная информация обновлена.

Ваша платежная информация не была обновлена.

Excel does not have any way to do this.

The result of a formula in a cell in Excel must be a number, text, logical (boolean) or error. There is no formula cell value type of «empty» or «blank».

One practice that I have seen followed is to use NA() and ISNA(), but that may or may not really solve your issue since there is a big differrence in the way NA() is treated by other functions (SUM(NA()) is #N/A while SUM(A1) is 0 if A1 is empty).

answered Jul 13, 2009 at 14:09

Joe Erickson's user avatar

Joe EricksonJoe Erickson

7,0591 gold badge31 silver badges31 bronze badges

6

You’re going to have to use VBA, then. You’ll iterate over the cells in your range, test the condition, and delete the contents if they match.

Something like:

For Each cell in SomeRange
  If (cell.value = SomeTest) Then cell.ClearContents
Next

brettdj's user avatar

brettdj

54.6k16 gold badges113 silver badges176 bronze badges

answered Jul 13, 2009 at 18:08

J.T. Grimes's user avatar

J.T. GrimesJ.T. Grimes

4,2141 gold badge27 silver badges32 bronze badges

10

Yes, it is possible.

It is possible to have a formula returning a trueblank if a condition is met. It passes the test of the ISBLANK formula. The only inconvenience is that when the condition is met, the formula will evaporate, and you will have to retype it. You can design a formula immune to self-destruction by making it return the result to the adjacent cell. Yes, it is also possible.

enter image description here

All you need is to set up a named range, say GetTrueBlank, and you will be able to use the following pattern just like in your question:

=IF(A1 = "Hello world", GetTrueBlank, A1)

Step 1. Put this code in Module of VBA.

Function Delete_UDF(rng)
    ThisWorkbook.Application.Volatile
    rng.Value = ""
End Function

Step 2. In Sheet1 in A1 cell add named range GetTrueBlank with the following formula:

=EVALUATE("Delete_UDF("&CELL("address",Sheet1!A1)&")")

enter image description here

That’s it. There are no further steps. Just use self-annihilating formula. Put in the cell, say B2, the following formula:

=IF(A2=0,GetTrueBlank,A2)

The above formula in B2 will evaluate to trueblank, if you type 0 in A2.

You can download a demonstration file here.

In the example above, evaluating the formula to trueblank results in an empty cell. Checking the cell with ISBLANK formula results positively in TRUE. This is hara-kiri. The formula disappears from the cell when a condition is met. The goal is reached, although you probably might want the formula not to disappear.

You may modify the formula to return the result in the adjacent cell so that the formula will not kill itself. See how to get UDF result in the adjacent cell.

adjacent cell

I have come across the examples of getting a trueblank as a formula result revealed by The FrankensTeam here:
https://sites.google.com/site/e90e50/excel-formula-to-change-the-value-of-another-cell

answered Sep 6, 2016 at 14:22

Przemyslaw Remin's user avatar

Przemyslaw ReminPrzemyslaw Remin

6,09624 gold badges108 silver badges186 bronze badges

4

Maybe this is cheating, but it works!

I also needed a table that is the source for a graph, and I didn’t want any blank or zero cells to produce a point on the graph. It is true that you need to set the graph property, select data, hidden and empty cells to «show empty cells as Gaps» (click the radio button). That’s the first step.

Then in the cells that may end up with a result that you don’t want plotted, put the formula in an IF statement with an NA() results such as =IF($A8>TODAY(),NA(), *formula to be plotted*)

This does give the required graph with no points when an invalid cell value occurs. Of course this leaves all cells with that invalid value to read #N/A, and that’s messy.

To clean this up, select the cell that may contain the invalid value, then select conditional formatting — new rule. Select ‘format only cells that contain’ and under the rule description select ‘errors’ from the drop down box. Then under format select font — colour — white (or whatever your background colour happens to be). Click the various buttons to get out and you should see that cells with invalid data look blank (they actually contain #N/A but white text on a white background looks blank.) Then the linked graph also does not display the invalid value points.

Honza Zidek's user avatar

Honza Zidek

8,7914 gold badges70 silver badges110 bronze badges

answered Jul 16, 2012 at 16:40

Gentle Knight's user avatar

3

If the goal is to be able to display a cell as empty when it in fact has the value zero, then instead of using a formula that results in a blank or empty cell (since there’s no empty() function) instead,

  • where you want a blank cell, return a 0 instead of "" and THEN

  • set the number format for the cells like so, where you will have to come up with what you want for positive and negative numbers (the first two items separated by semi-colons). In my case, the numbers I had were 0, 1, 2… and I wanted 0 to show up empty. (I never did figure out what the text parameter was used for, but it seemed to be required).

    0;0;"";"text"@
    

ib.'s user avatar

ib.

27.4k10 gold badges79 silver badges100 bronze badges

answered Jun 1, 2011 at 6:39

ET-X's user avatar

ET-XET-X

1591 silver badge2 bronze badges

2

This is how I did it for the dataset I was using. It seems convoluted and stupid, but it was the only alternative to learning how to use the VB solution mentioned above.

  1. I did a «copy» of all the data, and pasted the data as «values».
  2. Then I highlighted the pasted data and did a «replace» (CtrlH) the empty cells with some letter, I chose q since it wasn’t anywhere on my data sheet.
  3. Finally, I did another «replace», and replaced q with nothing.

This three step process turned all of the «empty» cells into «blank» cells». I tried merging steps 2 & 3 by simply replacing the blank cell with a blank cell, but that didn’t work—I had to replace the blank cell with some kind of actual text, then replace that text with a blank cell.

ib.'s user avatar

ib.

27.4k10 gold badges79 silver badges100 bronze badges

answered Jan 16, 2011 at 18:28

jeramy's user avatar

jeramyjeramy

1111 silver badge2 bronze badges

2

Use COUNTBLANK(B1)>0 instead of ISBLANK(B1) inside your IF statement.

Unlike ISBLANK(), COUNTBLANK() considers "" as empty and returns 1.

answered Apr 7, 2016 at 9:33

Kevin Vuilleumier's user avatar

1

Try evaluating the cell using LEN. If it contains a formula LEN will return 0. If it contains text it will return greater than 0.

Oleks's user avatar

Oleks

31.7k11 gold badges76 silver badges132 bronze badges

answered Sep 23, 2009 at 16:30

2

Wow, an amazing number of people misread the question. It’s easy to make a cell look empty. The problem is that if you need the cell to be empty, Excel formulas can’t return «no value» but can only return a value. Returning a zero, a space, or even «» is a value.

So you have to return a «magic value» and then replace it with no value using search and replace, or using a VBA script. While you could use a space or «», my advice would be to use an obvious value, such as «NODATE» or «NONUMBER» or «XXXXX» so that you can easily see where it occurs — it’s pretty hard to find «» in a spreadsheet.

answered Jun 24, 2013 at 19:55

Laird Popkin's user avatar

1

So many answers that return a value that LOOKS empty but is not actually an empty as cell as requested…

As requested, if you actually want a formula that returns an empty cell. It IS possible through VBA. So, here is the code to do just exactly that. Start by writing a formula to return the #N/A error wherever you want the cells to be empty. Then my solution automatically clears all the cells which contain that #N/A error. Of course you can modify the code to automatically delete the contents of cells based on anything you like.

Open the «visual basic viewer» (Alt + F11)
Find the workbook of interest in the project explorer and double click it (or right click and select view code). This will open the «view code» window. Select «Workbook» in the (General) dropdown menu and «SheetCalculate» in the (Declarations) dropdown menu.

Paste the following code (based on the answer by J.T. Grimes) inside the Workbook_SheetCalculate function

    For Each cell In Sh.UsedRange.Cells
        If IsError(cell.Value) Then
            If (cell.Value = CVErr(xlErrNA)) Then cell.ClearContents
        End If
    Next

Save your file as a macro enabled workbook

NB: This process is like a scalpel. It will remove the entire contents of any cells that evaluate to the #N/A error so be aware. They will go and you cant get them back without reentering the formula they used to contain.

NB2: Obviously you need to enable macros when you open the file else it won’t work and #N/A errors will remain undeleted

answered Nov 7, 2013 at 22:35

Mr Purple's user avatar

Mr PurpleMr Purple

2,2651 gold badge17 silver badges15 bronze badges

1

What I used was a small hack.
I used T(1), which returned an empty cell.
T is a function in excel that returns its argument if its a string and an empty cell otherwise. So, what you can do is:

=IF(condition,T(1),value)

answered Aug 18, 2019 at 14:55

Ahmed Shahid's user avatar

2

This answer does not fully deal with the OP, but there are have been several times I have had a similar problem and searched for the answer.

If you can recreate the formula or the data if needed (and from your description it looks as if you can), then when you are ready to run the portion that requires the blank cells to be actually empty, then you can select the region and run the following vba macro.

Sub clearBlanks()
    Dim r As Range
    For Each r In Selection.Cells
        If Len(r.Text) = 0 Then
            r.Clear
        End If
    Next r
End Sub

this will wipe out off of the contents of any cell which is currently showing "" or has only a formula

answered Oct 22, 2016 at 19:15

ElderDelp's user avatar

ElderDelpElderDelp

2357 silver badges12 bronze badges

I used the following work around to make my excel looks cleaner:

When you make any calculations the «» will give you error so you want to treat it as a number so I used a nested if statement to return 0 istead of «», and then if the result is 0 this equation will return «»

=IF((IF(A5="",0,A5)+IF(B5="",0,B5)) = 0, "",(IF(A5="",0,A5)+IF(B5="",0,B5)))

This way the excel sheet will look clean…

kleopatra's user avatar

kleopatra

50.8k28 gold badges99 silver badges209 bronze badges

answered Sep 30, 2013 at 7:02

Big Z's user avatar

Big ZBig Z

312 bronze badges

1

If you are using lookup functions like HLOOKUP and VLOOKUP to bring the data into your worksheet place the function inside brackets and the function will return an empty cell instead of a {0}. For Example,

This will return a zero value if lookup cell is empty:

    =HLOOKUP("Lookup Value",Array,ROW,FALSE)

This will return an empty cell if lookup cell is empty:

    =(HLOOKUP("Lookup Value",Array,ROW,FALSE))

I don’t know if this works with other functions…I haven’t tried. I am using Excel 2007 to achieve this.

Edit

To actually get an IF(A1=»», , ) to come back as true there needs to be two lookups in the same cell seperated by an &. The easy way around this is to make the second lookup a cell that is at the end of the row and will always be empty.

Lance Roberts's user avatar

Lance Roberts

22.2k32 gold badges112 silver badges129 bronze badges

answered May 9, 2011 at 6:48

Matthew Dolman's user avatar

Matthew DolmanMatthew Dolman

1,7127 gold badges25 silver badges49 bronze badges

Well so far this is the best I could come up with.

It uses the ISBLANK function to check if the cell is truly empty within an IF statement.
If there is anything in the cell, A1 in this example, even a SPACE character, then the cell is not EMPTY and the calculation will result.
This will keep the calculation errors from showing until you have numbers to work with.

If the cell is EMPTY then the calculation cell will not display the errors from the calculation.If the cell is NOT EMPTY then the calculation results will be displayed.
This will throw an error if your data is bad, the dreaded #DIV/0!

=IF(ISBLANK(A1)," ",STDEV(B5:B14))

Change the cell references and formula as you need to.

shawndreck's user avatar

shawndreck

2,0191 gold badge24 silver badges30 bronze badges

answered Dec 29, 2012 at 19:04

Stevis Geekus's user avatar

1

The answer is positively — you can not use the =IF() function and leave the cell empty. «Looks empty» is not the same as empty. It is a shame two quotation marks back to back do not yield an empty cell without wiping out the formula.

answered Oct 4, 2011 at 15:35

Ken's user avatar

1

I was stripping out single quotes so a telephone number column such as +1-800-123-4567 didn’t result in a computation and yielding a negative number.
I attempted a hack to remove them on empty cells, bar the quote, then hit this issue too (column F). It’s far easier to just call text on the source cell and voila!:

=IF(F2="'","",TEXT(F2,""))

answered Oct 7, 2020 at 5:35

JGFMK's user avatar

JGFMKJGFMK

8,2554 gold badges55 silver badges92 bronze badges

This can be done in Excel, without using the new chart feature of setting #N/A to be a gap. But it’s fiddly. Let’s say that you want to make line on an XY chart. Then:
Row 1: point 1
Row 2: point 2
Row 3: hard empty
Row 4: point 2
Row 5: point 3
Row 6: hard empty
Row 7: point 3
Row 8: point 4
Row 9: hard empty
etc

The result is a lot of separate lines. The formula for the points can control whether omitted by a #N/A. Typically the formulae for the points INDEX() into another range.

answered Apr 10, 2021 at 9:47

jdaw1's user avatar

jdaw1jdaw1

2253 silver badges11 bronze badges

If you are, like me, after an empty cell so that the text in a cell can overflow to an adjacent cell, return "" but set the cell format text direction to be rotated by 5 degrees. If you align left, you will find this causes the text to spill to an adjacent cell as if that cell were empty.

See before and after:
enter image description here

=IF(RANDARRAY(2,10,1,10,TRUE)>8,"abcdefghijklmnopqrstuvwxyz","")

Note the empty cells are not empty but contain "", yet the text can still spill.

enter image description here

answered Jan 26 at 14:24

Greedo's user avatar

GreedoGreedo

4,7892 gold badges29 silver badges76 bronze badges

Google brought me here with a very similar problem, I finally figured out a solution that fits my needs, it might help someone else too…

I used this formula:

=IFERROR(MID(Q2, FIND("{",Q2), FIND("}",Q2) - FIND("{",Q2) + 1), "")

answered Feb 7, 2017 at 22:48

hamish's user avatar

hamishhamish

1,1121 gold badge12 silver badges20 bronze badges

Может быть, это обман, но это работает!

Мне тоже нужна таблица, которая является источником для графа, и я не’т хотите, все пустые или нулевые ячейки, чтобы создать точку на графике. Это правда, что вы должны установить свойство диаграммы, выбор данных, скрытые и пустые ячейки, чтобы «показывать пустые ячейки как пробелы на» (нажмите на кнопку). Что’s первый шаг.

Затем в клетках, что может в конечном итоге с результатом, что вы Don’т хотим, нанесены, положите формулу в выражение if С на() результаты, такие как =если($А8>сегодня(),на(), *формулы должны быть показаны*)

Это дает требуемых граф, в котором нет очков, когда недопустимое значение ячейки происходит. Конечно, это оставляет всех клеток, что недопустимое значение для чтения #Н/Д, и что’ы грязный.

Чтобы отмыть все это, выделите ячейку, которая может содержать неверные значения, а затем выберите Условное форматирование — новое правило. Выберите ‘формата только ячейки, которые содержат’ и под описание правила выбора ‘ошибок’ из выпадающего списка. Затем в меню Формат выберите шрифт — цвет — белый (или любой цвет фона случается). Нажмите на различные <ОК> кнопки, чтобы выйти, и вы увидите, что ячейки с некорректными данными выглядит пустым (на самом деле они содержат #н/д, но белый текст на белом фоне выглядит пустым). Затем связанный Граф также не отображает неверные значения.

Вернуть пустую ячейку

Автор Ruben, 05.02.2010, 12:38

« назад — далее »

Есть 3 ячейки: A1, A2, A3.

В А1: 2
В A2: =ЕСЛИ(A1=1;»Yes»;»»)
В A3: =ЕСЛИ(ЕПУСТО(B1);»Yes»;»No»)

По идее, в ячейке А2 должно быть пусто, если в А1 не написано «1». Визуально так и есть. Но формула в А3, проверяющая пуста или нет ячейка А2, не принимает ее как пустую.

В чем проблема? И как сделать так, чтоб ячейка была «по-настоящему» пуста, а не только визуально.

Заранее спасибо.


Цитата: _Boroda_ от 05.02.2010, 13:01
В А3
=ЕСЛИ(A2=»»;»Yes»;»No»)

или без ссылки на А2
=ЕСЛИ(A1=1;»No»;»Yes»)

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


Не очень понял, что в итоге нужно получить.
Предположу, что нужно выявить те ячейки, в которых есть формула и она возвращает значение ПУСТО. Если я правильно понял, то см. вложенный файл.

Скажи мне, кудесник, любимец ба’гов…

Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995


Цитата: _Boroda_ от 05.02.2010, 13:41
Не очень понял, что в итоге нужно получить.
Предположу, что нужно выявить те ячейки, в которых есть формула и она возвращает значение ПУСТО. Если я правильно понял, то см. вложенный файл.

То, что вы выслали примерно похоже на то, что нужно. Представьте, есть 100 строк, в которых одна и та же формула, которая получает данные из соседнего листа и, в зависимости от данных, либо заполняет строку, либо выдает в ней значение «Пусто», либо просто оставляет строку пустой, посредством «»»». В итоге, мне нужно, чтоб из 100 строк отображались только те, в которых есть какие-либо значение (не пустые).


Может расширенным фильтром (если я правильно понял). Для удобства записал действия с фильтром макрорекордером.


Уважаемый Dmitr68, прекрасное решение, но, к сожалению, есть один косячок. Знак ? не ловит числа, поэтому, если в столбце есть числовые значения, то расш. фильтр их не видит.
Сделал с помощью обычного фильтра. Перескрытие строк происходит при пересчете листа.

Скажи мне, кудесник, любимец ба’гов…

Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995


  • Профессиональные приемы работы в Microsoft Excel

  • Обмен опытом

  • Microsoft Excel

  • Вернуть пустую ячейку

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

=IF(some_condition,EMPTY(),some_value)

Я пытался делать такие вещи, как

=IF(some_condition,"",some_value)

и

=IF(some_condition,,some_value)

и предполагая, что B1-пустая ячейка

=IF(some_condition,B1,some_value)

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

EDIT: как рекомендовано, я попытался вернуть NA(), но для моих целей это тоже не сработало. Есть ли способ сделать это с VB?

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

17 ответов


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

что-то типа:

For Each cell in SomeRange
  If (cell.value = SomeTest) Then cell.ClearContents
Next

Excel не имеет никакого способа сделать это.

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

одна практика, которую я видел, заключается в использовании NA() и ISNA(), но это может или не может действительно решить вашу проблему, поскольку существует большая разница в том, как NA() обрабатывается другими функциями (SUM(NA ()) — #N/a, а SUM(A1) — 0, если A1 пуст).


Да, это возможно.

возможно иметь уничтожая формулу оценивая к trueblank если условие соотвествовано. Он проходит тест формулы ISBLANK. Этот, казалось бы, невозможный трюк я нашел в коллекции FrankensTeam (ссылка ниже).

после настройки 3 шага, вы сможете использовать именованный диапазон GetTrueBlank, так же, как вы хотите в своем ответе:

=IF(A1 = "Hello world", GetTrueBlank, A1)

Шаг 1. поместите этот код в модуль На VBA.

Function Delete_UDF(rng)
    ThisWorkbook.Application.Volatile
    rng.Value = ""
End Function

два замечания о коде VBA.

  1. не вводите в заблуждение rng.Value="" по имени Ярость GetTrueBlank наконец-то будет trueblank, а не пустая строка, как в двойной кавычке ="".
  2. в моих тестах, первая строка кода ThisWorkbook.Application.Volatile первоначально используемый FrankensTeam оказался ненужным.

Шаг 2. на Sheet1 на A1 ячейка добавить именованный диапазон GetTrueBlank со следующими формула:

=EVALUATE("Delete_UDF("&CELL("address",Sheet1!A1)&")")

enter image description here

Шаг 3. используйте формулу самоуничтожения. Сажают в камеру, говорят B2 следующая формула:

=IF(A2=0,GetTrueBlank,A2)

enter image description here

приведенная выше формула в B2 будет оценивать trueblank, если вы наберете 0 в A2.

вы можете скачать демонстрационный файл.

в приведенном выше примере и все остальные примеры FrankensTeam, оценивая формулу к trueblank, приводят к пустой ячейке. Проверка результата с помощью формулы ISBLANK дает положительные результаты в TRUE. Это хара-кири, как Формулы. Формула исчезает из ячейки при выполнении условия. Цель достигнута, хотя автор вопроса может захотеть, чтобы формула не исчезла.

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

I пришли на примеры получения trueblank в результате формулы, переплавленной FrankensTeam здесь:
https://sites.google.com/site/e90e50/excel-formula-to-change-the-value-of-another-cell

22

автор: Przemyslaw Remin


может, это обман, но это работает!

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

затем в ячейках, которые могут привести к результату, который вы не хотите строить, поместите формулу В оператор IF с NA() результаты, такие как =IF($A8>TODAY(),NA(), *formula to be plotted*)

это дает необходимый график без точек, когда происходит недопустимое значение ячейки. Конечно, это оставляет все ячейки с этим недопустимым значением для чтения #N/A, и это грязно.

чтобы очистить это, Выберите ячейку, которая может содержать недопустимое значение, затем выберите Условное форматирование — новое правило. Выберите «Форматировать только ячейки, которые содержат» и под описанием правила выберите «ошибки» в раскрывающемся списке. Затем в разделе формат выберите шрифт-цвет-белый (или любой цвет фона). Нажмите различные кнопки, чтобы выйти, и вы увидите, что ячейки с недопустимыми данными выглядят пустыми (они фактически содержат #N/A но белый текст на белом фоне выглядит пустым.), Связанное график также не отображает неверные значения.


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

  1. Я сделал » копию «всех данных и вставил данные как»значения».
  2. затем я выделил вставленные данные и сделал «заменить» (CtrlH) пустые ячейки с какой-то буквой, Я выбрал q Так как это не было нигде в моих данных лист.
  3. наконец, я сделал еще одну «замену» и заменил q ни с чем.

этот трехэтапный процесс превратил все «пустые» ячейки в» пустые»ячейки. Я попытался объединить шаги 2 и 3, просто заменив пустую ячейку пустой ячейкой, но это не сработало-мне пришлось заменить пустую ячейку каким-то фактическим текстом, а затем заменить этот текст пустой ячейкой.


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


использовать COUNTBLANK(B1)>0 вместо ISBLANK(B1) внутри IF заявление.

в отличие от ISBLANK(), COUNTBLANK() считает "" как пустой и возвращает 1.

7

автор: Kevin Vuilleumier


попробуйте оценить ячейку с помощью LEN. Если он содержит формулу LEN вернутся 0. Если он содержит текст, он будет возвращать больше, чем 0.


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

таким образом, вы должны вернуть «магическое значение», а затем заменить его без значения с помощью search and replace или с помощью скрипта VBA. Хотя вы могли бы использовать пространство или «», мой совет будет использовать очевидное значение, такое как «NODATE» или «NONUMBER» или «XXXXX», так что вы можете легко увидеть, где это происходит — это довольно трудно найти «» в электронной таблице.


так много ответов, которые возвращают значение, которое выглядит пустым, но на самом деле не является пустой ячейкой как запрошено…

по запросу, если вам действительно нужна формула, которая возвращает пустую ячейку. Это возможно через VBA. Итак, вот код, чтобы сделать именно это. Начните с написания формулы, чтобы вернуть ошибку #N / A везде, где вы хотите, чтобы ячейки были пустыми. Затем мое решение автоматически очищает все ячейки, содержащие эту #n / a ошибку. Конечно, вы можете изменить код, чтобы автоматическое удаление содержимого ячеек на основе всего, что вам нравится.

откройте «средство просмотра visual basic» (Alt + F11)
Найдите интересующую книгу в обозревателе проектов и дважды щелкните ее (или щелкните правой кнопкой мыши и выберите Просмотреть код). Откроется окно «Просмотр кода». Выберите «книга» в раскрывающемся меню (Общие) и «SheetCalculate» в раскрывающемся меню (объявления).

вставьте следующий код (на основе ответа J. T. Grimes) внутри Workbook_SheetCalculate функция

    For Each cell In Sh.UsedRange.Cells
        If IsError(cell.Value) Then
            If (cell.Value = CVErr(xlErrNA)) Then cell.ClearContents
        End If
    Next

сохраните файл как книгу с поддержкой макросов

NB: этот процесс похож на скальпель. Он удалит все содержимое любых ячеек, которые оценивают ошибку #N/A, поэтому имейте в виду. Они уйдут, и вы не сможете их вернуть, не вернувшись к формуле, которую они содержали.

NB2: очевидно, вам нужно включить макросы, когда вы открываете файл, иначе он не будет работать, и ошибки #N / A останутся нераспределенными


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

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

Sub clearBlanks()
    Dim r As Range
    For Each r In Selection.Cells
        If Len(r.Text) = 0 Then
            r.Clear
        End If
    Next r
End Sub

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


я использовал следующую работу, чтобы сделать мой excel выглядит чище:

когда вы делаете какие-либо вычисления, «» даст вам ошибку, поэтому вы хотите рассматривать ее как число, поэтому я использовал вложенный оператор if для возврата 0 istead «», а затем, если результат равен 0, это уравнение вернется»»

=IF((IF(A5="",0,A5)+IF(B5="",0,B5)) = 0, "",(IF(A5="",0,A5)+IF(B5="",0,B5)))

таким образом, лист Excel будет выглядеть чистым…


Если вы используете функции поиска, такие как HLOOKUP и VLOOKUP для ввода данных в рабочий лист, поместите функцию в скобки, и функция вернет пустую ячейку вместо {0}. Например,

это вернет нулевое значение, если ячейка поиска пуста:

    =HLOOKUP("Lookup Value",Array,ROW,FALSE)

это вернет пустую ячейку, если ячейка пуста поиска:

    =(HLOOKUP("Lookup Value",Array,ROW,FALSE))

Я не знаю, работает ли это с другими функциями…Я не пытался. Я использую Excel 2007 для добиться этого.

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

чтобы на самом деле получить IF(A1=»»,,), чтобы вернуться как true, должно быть два поиска в одной ячейке, разделенных &. Простой способ обойти это-сделать второй поиск ячейкой, которая находится в конце строки и всегда будет пустой.


Ну пока это лучшее, что я мог придумать.

использует ISBLANK функция, чтобы проверить, действительно ли ячейка пуста в IF заявление.
Если в камере что-нибудь есть …—3—> в этом примере даже пробел, then the cell is not EMPTY и расчет результата.
Это будет держать ошибки расчета от показа, пока у вас есть номера для работы.

если ячейка EMPTY тогда ячейка расчета не будет отображать ошибки из расчет.Если ячейка NOT EMPTY затем будут отображаться результаты расчета.
Это вызовет ошибку, если ваши данные плохие, страшные #DIV/0!

=IF(ISBLANK(A1)," ",STDEV(B5:B14))

измените ссылки на ячейки и формулу, как вам нужно.


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


Google привел меня сюда с очень похожей проблемой, я, наконец, понял решение, которое соответствует моим потребностям, это может помочь кому-то еще…

я использовал эту формулу:

=IFERROR(MID(Q2, FIND("{",Q2), FIND("}",Q2) - FIND("{",Q2) + 1), "")

похоже, что простой ответ, который работает, был пропущен.

название пустую ячейку в электронной таблице BlankCell.

возвращение BlankCell в вашей формуле, например,

=ISBLANK(IFNA(VLOOKUP(A2,SomeTable,2,False),BlankCell))

возвращает TRUE Если ISBLANK(VLOOKUP(A2,SomeTable,2,False)) is TRUE.


Понравилась статья? Поделить с друзьями:
  • Как вернуть прошлую версию файла excel
  • Как вернуть предыдущую версию документа word если нет предыдущих версий
  • Как вернуть прошлое сохранение в word
  • Как вернуть предыдущий документ word
  • Как вернуть пропавшую строку в excel