Страницы: 1
RSS
Число столбцов массива
 
Посмотрите плиз пример. Что-то я торможу...
 
Пробуй так  
=ЧИСЛСТОЛБ(ДВССЫЛ(G3))
 
Вот спасибо! То что надо.
 
Усложним задачу. Надо вернуть номер столбца поля с определенным названием (см файл)
 
{quote}{login=Серега}{date=24.10.2007 08:52}{thema=}{post}Усложним задачу. Надо вернуть номер столбца поля с определенным названием (см файл){/post}{/quote}  
Видимо я не так хорошо знаю Excel чтобы обойтись без макроса, вот  
Function d(df As Range, fg As String)  
d = 0  
For Each m In df  
d = d + 1  
If m = fg Then Exit Function  
Next m  
d = 0  
End Function
 
Хотелось ба без макроса...  
Поясните пожалуйста по макросу - я правильно понял:  
m - это ячейка с тем, что ищем.  
а этой строкой  
For Each m In df  
макрос перебирает все ячейки в массиве, и функция возвращает какая по порядку ячейка совпадет с тем что ищем. А в каком порядке макрос перебирает ячейки по строкам (тогда всё ОК) или по столбцам (тогда ответ будет неверный)?
 
{quote}{login=Серега}{date=24.10.2007 08:52}{thema=}{post}Усложним задачу. Надо вернуть номер столбца поля с определенным названием (см файл){/post}{/quote}  
В G8: =ПОИСКПОЗ(C1;ИНДЕКС(ДВССЫЛ(G3);1;))
 
Можно и так :  
 
=ПОИСКПОЗ("количество";ИНДЕКС(ДВССЫЛ(G3);1;))
 
ЙЕСССССССССССССССС! Макросы - отстой, формулы рулят!
 
=ПОИСКПОЗ("сумма";A1:F1;0)
 
Ну без макросов, тоже иногда не обойтись...  
 
а вот еще оптимальное решение :  
 
=ПОИСКПОЗ("сумма";ИНДЕКС(Массив;1;);0)
 
но если несколько одинаковых столбцов - она вернет последний :))
 
верхнее мое :)
Страницы: 1
Читают тему
Наверх