Страницы: 1
RSS
В ячейке создать ряд целых чисел. Границы указаны в двух других ячейках
 
Добрый день. Подскажите как вывести все числа из диапазона A2-B2.  
 
формула массива:
Код
=ОБЪЕДИНИТЬ(" ";;СТРОКА(ИНДЕКС(C:C;A2):ИНДЕКС(C:C;B2)))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Любопытно, устроит ли обладателя Excel 2016 решение для 2019 :)  
Владимир
 
не работает. нет функции "объединить"
 
benladen1388, потому-что нужно уточнять version excel как указано в правилах) можно макросом для любой версии ...

sokol92 как в воду глядел)
Изменено: Mershik - 14.06.2020 15:32:54
Не бойтесь совершенства. Вам его не достичь.
 
Цитата
Mershik написал:
как в воду глядел
Не в воду, а в файл из #1!

UDF-функция очевидна:
Код
Function ShowInterval(arg1, arg2)
  Dim i As Long, s As String
  For i = arg1 To arg2
    s = IIf(s = "", "", s & " ") & i
  Next i
  ShowInterval = s
End Function
Изменено: sokol92 - 14.06.2020 15:42:58
Владимир
 
benladen1388, еще вариант
Код
Sub fdf()
Dim i As Long, k As Long, j As Long, lr As Long
lr = Cells(Rows.Count, 1).End(xlUp).Row
For j = 2 To lr
    For i = Cells(j, 1) To Cells(j, 2)
        Cells(j, 3) = Cells(j, 3) & " " & i
    Next i
Next j
End Sub

и
Код
Sub fdf()
Dim i As Long, k As Long, j As Long, lr As Long
lr = Cells(Rows.Count, 1).End(xlUp).Row
For j = 2 To lr
k = Cells(j, 2) - Cells(j, 1)
Cells(j, 3) = Cells(j, 1)
    For i = 1 To k
        Cells(j, 3) = Cells(j, 3) & " " & Cells(j, 1) + i
    Next i
Next j
End Sub

Изменено: Mershik - 14.06.2020 15:48:35
Не бойтесь совершенства. Вам его не достичь.
 
Код
Function fSeriesNum(rStart As Range, rFinish As Range) As String
    Dim sTxt As String
    Dim j As Long
    
    For j = rStart.Value To rFinish.Value
        sTxt = sTxt & " " & j
    Next j
    
    fSeriesNum = Trim$(sTxt)
End Function

В ячейку:
=fSeriesNum(A2;B2)

P.S. Не заметил функцию Владимира. То же самое )
 
Иск о нарушении авторских прав подавать не буду. :D  
Владимир
 
полегчало )
 
sokol92, спасибо, идеально подошло.
А подскажите как сделать так, понимаю что принцип тот же но сам не могу реализовать(
 
Код
Function listdates$(s, f, p$)
    t = p & s
    For i = s + 1 To f
        t = t & ", " & p & i
    Next i
    listdates = t
End Function
Соблюдение правил форума не освобождает от модераторского произвола
 
Ну для конкретного применения не важно а для общего случая, я б сразу рассчитывал бы длину строки и при превышении 32к выводил ошибку.
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх