Кто-нибудь знает, есть ли оператор объединения в Excel 2010?
Я пытался ;
и ,
кажется, ни один из них не работает. Например, =E2:E3;E4:E6
, =E2:E3,E4:E6
, {=E2:E3;E4:E6}
и {=E2:E3,E4:E6}
всегда возвращают ошибку.
Кто-нибудь знает, есть ли оператор объединения в Excel 2010?
Я пытался ;
и ,
кажется, ни один из них не работает. Например, =E2:E3;E4:E6
, =E2:E3,E4:E6
, {=E2:E3;E4:E6}
и {=E2:E3,E4:E6}
всегда возвращают ошибку.
Оператор 'union' в Excel всегда был запятой * (например, A1:A9,F2:G4
), а оператор пересечения - это один пробел. Дело не в том, что он не работает, просто не все функции Excel могут принять этот метод ссылки.
Вот некоторые из них:
SUM()
COUNT()
COUNTA()
SMALL()
LARGE()
MIN()
MAX()
AVERAGE()
Однако, когда вы думаете об ,
точно не делать математический союз, а скорее установить дополнение. Например, =COUNT(A1,A1,A1)
возвращает 3
. Если бы это был действительно оператор объединения, эта формула вернула бы 1
.
** Некоторые евро-версии используют вместо этого точку с запятой (;
), в зависимости от региональных настроек компьютера.*
(Дополнительная информация: Microsoft Office: операторы вычислений и приоритет)
Если вы хотите суммировать значения, вы можете написать это:
=SUM(I3:M3;I4:M4;I5:M5)
Если вы хотите объединить тексты, вы можете написать это (или использовать мышь, как говорит @soandos):
=CONCATENATE(A1;B1;C1;D1)
Похоже, что вы хотите написать . Но, как я знаю, это невозможно (выдает ошибку).=CONCATENATE(A1:D1)
Вопрос не слишком ясен, но сейчас кажется, что вам нужно объединить тексты. Например, согласно вашему примеру, если вам нужно объединить E2, E3, E4, E5, E6, вы можете написать формулу, например:
=CONCATENATE(E2,E3,E4,E5,E6)
Я сам попробовал: нужно индивидуально описывать клетки. ":" Это не работает для меня тоже в Конкатенации. Поэтому вы должны попробовать, как описано выше.
Иначе, ответ Мдемирбаса прекрасно объясняет формулу SUM
.
Короче ответ НЕТ.
Однако для некоторых функций вы можете использовать следующий обходной путь:
=COUNTA(B1:B3,A2:C2)-COUNTA(B1:B3 A2:C2)
Обратите внимание, что диапазоны имеют одну общую ячейку (т.е. пересекающуюся). "," Используется некоторыми функциями, чтобы обеспечить несколько диапазонов в качестве параметра. Это не объединение, так как оно будет включать ячейку пересечения дважды. Это будет подсчитано дважды. Таким образом, вычитая пересечение, вы получите правильный ответ.
Этот метод должен работать со следующим:
SUM()
COUNT()
COUNTA()
Это не будет работать с:SMALL()
LARGE()
Формула может быть изменена для работы с:
AVERAGE()
Это никогда не требуется с MAX and MIN
!
Это настоящая боль, что это работает так, что нет оператора UNION.
В VBA вы можете написать функцию, которая создает правильный союз:
см. здесь для получения информации http://www.cpearson.com/excel/BetterUnion.aspx
т.е.
Function ProperUnion(ParamArray Ranges() As Variant) As Range
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' ProperUnion
' This provides Union functionality without duplicating
' cells when ranges overlap. Requires the Union2 function.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim ResR As Range
Dim N As Long
Dim R As Range
If Not Ranges(LBound(Ranges)) Is Nothing Then
Set ResR = Ranges(LBound(Ranges))
End If
For N = LBound(Ranges) + 1 To UBound(Ranges)
If Not Ranges(N) Is Nothing Then
For Each R In Ranges(N).Cells
If Application.Intersect(ResR, R) Is Nothing Then
Set ResR = Union2(ResR, R)
End If
Next R
End If
Next N
Set ProperUnion = ResR
End Function