Возврат списка целых чисел между двумя ячейками - PullRequest
0 голосов
/ 01 мая 2018

Я надеюсь, что формула или функция vba добавят список значений в ячейку с учетом верхней и нижней границ. Например, обратитесь к столбцам A и B на изображении ниже:

Example

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

Проблема в том, что диапазон между двумя ячейками различен (выходные данные в столбце C не всегда будут содержать 4 целых числа - это может быть больше или меньше).

Кто-нибудь знает, каким будет лучший способ выполнить эту задачу? Я действительно ценю любую помощь.

Ответы [ 2 ]

0 голосов
/ 01 мая 2018

Если вы используете Office365 или Excel 2016 и выше, вы можете использовать функцию TextJoin следующим образом (вводится как формула массива с помощью Ctrl + Shift + Enter ):

=TEXTJOIN(",",TRUE,ROW(INDEX(A:A,A2):INDEX(A:A,B2)))

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

0 голосов
/ 01 мая 2018

с VBA:

Public Function Seq(n1 As Long, n2 As Long) As String
    For i = n1 To n2
        Seq = Seq & "," & i
    Next i
    Seq = Mid(Seq, 2)
End Function

enter image description here

EDIT # 1:

В самой последней версии Excel эта формула массива:

=TEXTJOIN(",",TRUE,ROW(1:5))

вернет последовательность значений:

enter image description here

Возможно, действительно умный человек может сказать нам, как заменить 1: 5 ссылками на ячейки.

...