Какова формула Excel для объединения всех числовых данных ячеек (немногие ячейки содержат числовые данные, а немногие содержат данные алфавитов и я хочу объединить только числовые данные) одного столбца в другую отдельную ячейку и значения, разделенные запятыми? Например, как показано ниже, столбец Q содержит такие данные, и я хочу o/p, как показано в ячейке R2

Column Q 

1111111111                
Developing    
Developing    
Developing    
1111111112    
Developing    
1111111113    
Developing    
Developing


R2 cell

1111111112,1111111112,1111111113

2 ответа2

0

Если вы используете Office 365 Excel, вы можете использовать эту формулу массива:

=TEXTJOIN(", ",TRUE,IF(ISNUMBER($Q$2:INDEX(Q:Q,MAX(IFERROR(MATCH("zzz",Q:Q),1),IFERROR(MATCH(1E+99,Q:Q),1)))),$Q$2:INDEX(Q:Q,MAX(IFERROR(MATCH("zzz",Q:Q),1),IFERROR(MATCH(1E+99,Q:Q),1))),""))

Будучи формулой массива, она должна быть подтверждена Ctrl-Shift-Enter вместо Enter при выходе из режима редактирования.

Который будет объединять любые в столбце Q, которые являются числами.

Поскольку формулы массива должны ограничивать ссылки на данные, то:

$Q$2:INDEX(Q:Q,MAX(IFERROR(MATCH("zzz",Q:Q),1),IFERROR(MATCH(1E+99,Q:Q),1)))

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

0

Если у вас нет JOINTEXT() в вашей версии Excel, попробуйте следующую пользовательскую функцию:

Public Function SpliceNum(rng As Range) As String
    Dim r As Range, v As Variant
    For Each r In rng
        v = r.Value
        If v <> "" Then
            If IsNumeric(v) Then
                SpliceNum = SpliceNum & "," & v
            End If
        End If
    Next r
    SpliceNum = Mid(SpliceNum, 2)
End Function

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .