Вот решение задачи, как я ее понял вчера:
Удалить "пробелы": =substitute(A1," ","")
ваш счет =IF(COUNTIF(A$1:A1,A1)=1,A1,"")
Вместе:
=substitute(IF(COUNTIF(A$1:A1,A1)=1,A1,"")," ",""))
Значения, которые отличаются только пробелами, будут отображаться как разные!
Если у вас есть значения, равные после подстановки (например, «b b» и «bb»)
тогда вам нужно два ряда и вам нужно прибегнуть после замены.
Тогда невозможно объединить две формулы без дальнейшей работы.
(например, решение vba: замена, курорт и вывод).
Вот как бы я решил это с помощью VBA:
Option Explicit
Sub sample_values()
Range("A1").Value = "Values"
Range("A2").Value = "2023"
Range("A3").Value = "2141"
Range("A4").Value = "2156"
Range("A5").Value = "2175"
Range("A6").Value = "2300"
Range("A7").Value = "23 00"
Range("A8").Value = "23 0 0 "
Range("A9").Value = "2181"
Range("A10").Value = "2188"
Range("A11").Value = "2204"
Range("A12").Value = "2207"
Range("A13").Value = "2211"
Range("A14").Value = "22 11"
Range("A15").Value = "2 2 1 1"
Range("A16").Value = "221 1"
Range("A17").Value = "221 1"
Range("A18").Value = "2236"
Range("A19").Value = "2239"
Range("A20").Value = "2250"
End Sub
Sub rb_s_ouv()
'remove_blanks_and_sort_and_output_unique_values()
Dim myInput As Range
Dim sortedInput As Range
Dim outputRng As Range
Dim lastRow As Long
Dim cell As Range
Dim uniqueCt As Integer
Dim noBlanks_Column As Boolean
lastRow = Range("A1").SpecialCells(xlCellTypeLastCell).Row
Set myInput = Range(Cells(2, 1), Cells(lastRow, 1))
'Debug.Print myInput.Address
noBlanks_Column = True 'no blanks in an individual column
'noBlanks_Column = False 'no blanks in the original column
'substitute blanks
If noBlanks_Column Then myInput.Offset(-1, 2).Value = "no_blanks"
For Each cell In myInput
If noBlanks_Column Then
cell.Offset(0, 2).Value = Replace(cell.Value, " ", "")
Else
cell.Value = Replace(cell.Value, " ", "")
End If
Next cell
'sort input
If noBlanks_Column Then
myInput.Offset(0, 2).Sort myInput.Offset(0, 2), xlAscending
Set sortedInput = myInput.Offset(0, 2)
Else
myInput.Sort myInput, xlAscending
Set sortedInput = myInput
End If
'output unique values
sortedInput.Offset(-1, 2).Range("A1").Value = "unique values"
Set outputRng = sortedInput.Offset(0, 2).Range("A1")
uniqueCt = 0
For Each cell In sortedInput
If cell.Value <> cell.Offset(1, 0).Value Then
outputRng.Offset(uniqueCt, 0).Value = cell
uniqueCt = uniqueCt + 1
End If
Next cell
End Sub
Подробности относительно столбца "без пробелов":