Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Возврат предпоследнего значения из строки - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Возврат предпоследнего значения из строки
Vinkelman Дата: Среда, 23.10.2013, 11:10 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 249
Репутация: 26 ±
Замечаний: 0% ±

2003 - 2010
Добрый день!
Формула
Код
=ПРОСМОТР(9E+307;C2:L2)

возвращает последнее значение из строки в указанном диапазоне, а возможно ли сделать, чтобы возвращалось предпоследнее (см. пример)?
К сообщению приложен файл: 3171068.xls (13.5 Kb)
 
Ответить
СообщениеДобрый день!
Формула
Код
=ПРОСМОТР(9E+307;C2:L2)

возвращает последнее значение из строки в указанном диапазоне, а возможно ли сделать, чтобы возвращалось предпоследнее (см. пример)?

Автор - Vinkelman
Дата добавления - 23.10.2013 в 11:10
Serge_007 Дата: Среда, 23.10.2013, 11:12 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Для Вашего примера:
Код
=НАИБОЛЬШИЙ(C2:L2;2)


Универсально (формула массива):
Код
=ИНДЕКС(C2:L2;;НАИБОЛЬШИЙ((C2:L2<>0)*СТОЛБЕЦ(A:J);2)))
К сообщению приложен файл: Vinkelman_L.xls (22.5 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеДля Вашего примера:
Код
=НАИБОЛЬШИЙ(C2:L2;2)


Универсально (формула массива):
Код
=ИНДЕКС(C2:L2;;НАИБОЛЬШИЙ((C2:L2<>0)*СТОЛБЕЦ(A:J);2)))

Автор - Serge_007
Дата добавления - 23.10.2013 в 11:12
Vinkelman Дата: Среда, 23.10.2013, 11:50 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 249
Репутация: 26 ±
Замечаний: 0% ±

2003 - 2010
Дело в том, что мне нужно именно предпоследнее, а не наибольшее, числа могут идти не по возрастанию: 10 - 20 - 40 - 30 - 50.
 
Ответить
СообщениеДело в том, что мне нужно именно предпоследнее, а не наибольшее, числа могут идти не по возрастанию: 10 - 20 - 40 - 30 - 50.

Автор - Vinkelman
Дата добавления - 23.10.2013 в 11:50
SkyPro Дата: Среда, 23.10.2013, 12:48 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
[vba]
Код
Function pre(trgt As Range)
Dim rCell As Range, rw&
rw = trgt.Row
     Set rCell = Cells(rw, Columns.Count).End(xlToLeft)

If rCell.Offset(0, -1).Value = "" Then
     pre = rCell.End(xlToLeft).Value
Else
     pre = rCell.Offset(0, -1).Value
End If

End Function
[/vba]

Код
=pre(A1)
Выводит предпоследнее значение в строке 1 (с скобках указывается любая ячейка из нужной строки).
К сообщению приложен файл: 3985877.xls (53.5 Kb)


skypro1111@gmail.com
 
Ответить
Сообщение[vba]
Код
Function pre(trgt As Range)
Dim rCell As Range, rw&
rw = trgt.Row
     Set rCell = Cells(rw, Columns.Count).End(xlToLeft)

If rCell.Offset(0, -1).Value = "" Then
     pre = rCell.End(xlToLeft).Value
Else
     pre = rCell.Offset(0, -1).Value
End If

End Function
[/vba]

Код
=pre(A1)
Выводит предпоследнее значение в строке 1 (с скобках указывается любая ячейка из нужной строки).

Автор - SkyPro
Дата добавления - 23.10.2013 в 12:48
китин Дата: Среда, 23.10.2013, 12:54 | Сообщение № 5
Группа: Модераторы
Ранг: Экселист
Сообщений: 7025
Репутация: 1076 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Vinkelman, а вы проверяли вторую формулу Serge_007, ?она работает правильно-возвращает именно предпоследнее значение,а не наибольшее


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеVinkelman, а вы проверяли вторую формулу Serge_007, ?она работает правильно-возвращает именно предпоследнее значение,а не наибольшее

Автор - китин
Дата добавления - 23.10.2013 в 12:54
Vinkelman Дата: Среда, 23.10.2013, 13:25 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 249
Репутация: 26 ±
Замечаний: 0% ±

2003 - 2010
китин, да, работает, спасибо!
 
Ответить
Сообщениекитин, да, работает, спасибо!

Автор - Vinkelman
Дата добавления - 23.10.2013 в 13:25
Vinkelman Дата: Среда, 23.10.2013, 13:25 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 249
Репутация: 26 ±
Замечаний: 0% ±

2003 - 2010
SkyPro, Спасибо!
 
Ответить
СообщениеSkyPro, Спасибо!

Автор - Vinkelman
Дата добавления - 23.10.2013 в 13:25
китин Дата: Среда, 23.10.2013, 13:26 | Сообщение № 8
Группа: Модераторы
Ранг: Экселист
Сообщений: 7025
Репутация: 1076 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Vinkelman, а я то здесь причем?все лавры принадлежат Сергею-формулу то он предложил


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеVinkelman, а я то здесь причем?все лавры принадлежат Сергею-формулу то он предложил

Автор - китин
Дата добавления - 23.10.2013 в 13:26
Vinkelman Дата: Среда, 23.10.2013, 13:28 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 249
Репутация: 26 ±
Замечаний: 0% ±

2003 - 2010
Serge_007,
Спасибо, в примере работает. Пробую вставить в свой файл, пока не выходит, если не получится, позвольте ещё раз обратиться и прислать более полный фрагмент (слишком много у меня там наворочено).
 
Ответить
СообщениеSerge_007,
Спасибо, в примере работает. Пробую вставить в свой файл, пока не выходит, если не получится, позвольте ещё раз обратиться и прислать более полный фрагмент (слишком много у меня там наворочено).

Автор - Vinkelman
Дата добавления - 23.10.2013 в 13:28
китин Дата: Среда, 23.10.2013, 13:37 | Сообщение № 10
Группа: Модераторы
Ранг: Экселист
Сообщений: 7025
Репутация: 1076 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Vinkelman, а вы про
формула массива

не забыли?


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852


Сообщение отредактировал китин - Среда, 23.10.2013, 13:40
 
Ответить
СообщениеVinkelman, а вы про
формула массива

не забыли?

Автор - китин
Дата добавления - 23.10.2013 в 13:37
Vinkelman Дата: Среда, 23.10.2013, 14:22 | Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 249
Репутация: 26 ±
Замечаний: 0% ±

2003 - 2010
китин, про массив не забыл, в примере всё работает, а вот в большом файле, из которого фрагмент, пока не получилось.
 
Ответить
Сообщениекитин, про массив не забыл, в примере всё работает, а вот в большом файле, из которого фрагмент, пока не получилось.

Автор - Vinkelman
Дата добавления - 23.10.2013 в 14:22
китин Дата: Среда, 23.10.2013, 14:56 | Сообщение № 12
Группа: Модераторы
Ранг: Экселист
Сообщений: 7025
Репутация: 1076 ±
Замечаний: 0% ±

Excel 2007;2010;2016
а диапазоны подправить,в соответствии с новыми данными?


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениеа диапазоны подправить,в соответствии с новыми данными?

Автор - китин
Дата добавления - 23.10.2013 в 14:56
Vinkelman Дата: Четверг, 24.10.2013, 07:50 | Сообщение № 13
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 249
Репутация: 26 ±
Замечаний: 0% ±

2003 - 2010
китин, не получилось... см. полный (по строкам) фрагмент файла.
Данные беру из диапазона AA-AX, т.к. если брать из AZ-BW моя формула (столбец Q), которую надо заменить, не работает.
К сообщению приложен файл: 9678006.xls (87.5 Kb)
 
Ответить
Сообщениекитин, не получилось... см. полный (по строкам) фрагмент файла.
Данные беру из диапазона AA-AX, т.к. если брать из AZ-BW моя формула (столбец Q), которую надо заменить, не работает.

Автор - Vinkelman
Дата добавления - 24.10.2013 в 07:50
китин Дата: Четверг, 24.10.2013, 09:05 | Сообщение № 14
Группа: Модераторы
Ранг: Экселист
Сообщений: 7025
Репутация: 1076 ±
Замечаний: 0% ±

Excel 2007;2010;2016
в ячейку Q4 скопируйте формулу
Код
=ИНДЕКС(AA4:AX4;;НАИБОЛЬШИЙ((AA4:AX4<>"")*СТОЛБЕЦ(A:X);2))

с ЕСЛИ сами поиграйтесь.
ЗЫ.обращаясь лично ко мне вы лишаете себя помощи других,более компетентных и умных форумчан


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениев ячейку Q4 скопируйте формулу
Код
=ИНДЕКС(AA4:AX4;;НАИБОЛЬШИЙ((AA4:AX4<>"")*СТОЛБЕЦ(A:X);2))

с ЕСЛИ сами поиграйтесь.
ЗЫ.обращаясь лично ко мне вы лишаете себя помощи других,более компетентных и умных форумчан

Автор - китин
Дата добавления - 24.10.2013 в 09:05
Vinkelman Дата: Четверг, 24.10.2013, 09:24 | Сообщение № 15
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 249
Репутация: 26 ±
Замечаний: 0% ±

2003 - 2010
Serge_007,
С пощью форумчанина Китина подогнал Вашу формулу в свой файл, но... #ЗНАЧ!
И, если можно, хотелось бы использовать диапазон AZ-BW, а не AA-AX, который его просто дублирует.
К сообщению приложен файл: 7255155.xls (87.0 Kb)
 
Ответить
СообщениеSerge_007,
С пощью форумчанина Китина подогнал Вашу формулу в свой файл, но... #ЗНАЧ!
И, если можно, хотелось бы использовать диапазон AZ-BW, а не AA-AX, который его просто дублирует.

Автор - Vinkelman
Дата добавления - 24.10.2013 в 09:24
китин Дата: Четверг, 24.10.2013, 09:25 | Сообщение № 16
Группа: Модераторы
Ранг: Экселист
Сообщений: 7025
Репутация: 1076 ±
Замечаний: 0% ±

Excel 2007;2010;2016
поигрался сам
Код
=ЕСЛИ(ИНДЕКС(AA4:AX4;;НАИБОЛЬШИЙ((AA4:AX4<>"")*СТОЛБЕЦ(A:X);2))="";"1-я зак.>";ИНДЕКС(AA4:AX4;;НАИБОЛЬШИЙ((AA4:AX4<>"")*СТОЛБЕЦ(A:X);2)))
Формула массива
К сообщению приложен файл: Vinkelman_22.xls (92.0 Kb)


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениепоигрался сам
Код
=ЕСЛИ(ИНДЕКС(AA4:AX4;;НАИБОЛЬШИЙ((AA4:AX4<>"")*СТОЛБЕЦ(A:X);2))="";"1-я зак.>";ИНДЕКС(AA4:AX4;;НАИБОЛЬШИЙ((AA4:AX4<>"")*СТОЛБЕЦ(A:X);2)))
Формула массива

Автор - китин
Дата добавления - 24.10.2013 в 09:25
китин Дата: Четверг, 24.10.2013, 09:30 | Сообщение № 17
Группа: Модераторы
Ранг: Экселист
Сообщений: 7025
Репутация: 1076 ±
Замечаний: 0% ±

Excel 2007;2010;2016
прочитал поздно вашу хотелку.ловите
Код
=ЕСЛИ(ИНДЕКС(AZ4:BW4;;НАИБОЛЬШИЙ((AZ4:BW4<>0)*СТОЛБЕЦ(A:X);2))=0;"1-я зак.>";ИНДЕКС(AZ4:BW4;;НАИБОЛЬШИЙ((AZ4:BW4<>0)*СТОЛБЕЦ(A:X);2)))
диапазон AZ-BW
К сообщению приложен файл: 5015566.xls (92.0 Kb)


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852


Сообщение отредактировал китин - Четверг, 24.10.2013, 09:31
 
Ответить
Сообщениепрочитал поздно вашу хотелку.ловите
Код
=ЕСЛИ(ИНДЕКС(AZ4:BW4;;НАИБОЛЬШИЙ((AZ4:BW4<>0)*СТОЛБЕЦ(A:X);2))=0;"1-я зак.>";ИНДЕКС(AZ4:BW4;;НАИБОЛЬШИЙ((AZ4:BW4<>0)*СТОЛБЕЦ(A:X);2)))
диапазон AZ-BW

Автор - китин
Дата добавления - 24.10.2013 в 09:30
Vinkelman Дата: Четверг, 24.10.2013, 09:33 | Сообщение № 18
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 249
Репутация: 26 ±
Замечаний: 0% ±

2003 - 2010
Прошу прощения, забыл про массив! :(
Всё работает. :)
Большое спасибо! hands
 
Ответить
СообщениеПрошу прощения, забыл про массив! :(
Всё работает. :)
Большое спасибо! hands

Автор - Vinkelman
Дата добавления - 24.10.2013 в 09:33
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!