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

Вход

Регистрация

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

 

= Мир MS Excel/Записи участника (krosav4ig) - Мир MS Excel

Результаты поиска
krosav4ig Дата: Понедельник, 17.11.2014, 22:32 | Сообщение № 2001 | Тема: Перенос регулярки из Word в Excel
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
r.Pattern = "([а-яё])([А-ЯЁ])"

пол-дня порывался переписать свою писульку в этом духе, но никак руки не доходили
возьмите на заметку
взял, зарубил себе на всех местах, постоянно об этом забываю :(


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
r.Pattern = "([а-яё])([А-ЯЁ])"

пол-дня порывался переписать свою писульку в этом духе, но никак руки не доходили
возьмите на заметку
взял, зарубил себе на всех местах, постоянно об этом забываю :(

Автор - krosav4ig
Дата добавления - 17.11.2014 в 22:32
krosav4ig Дата: Понедельник, 17.11.2014, 15:02 | Сообщение № 2002 | Тема: Перенос регулярки из Word в Excel
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
ikki, а вдруг в тексте будет \n ? ^_^


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеikki, а вдруг в тексте будет \n ? ^_^

Автор - krosav4ig
Дата добавления - 17.11.2014 в 15:02
krosav4ig Дата: Понедельник, 17.11.2014, 10:20 | Сообщение № 2003 | Тема: Перенос регулярки из Word в Excel
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
ikki, \s - Пробельный символ (space, tab, vblf и т.п.). Эквивалентно выражению "[ \r\t\n\f]"
\S - Непробельный символ. Эквивалентно выражению "[^ \r\t\n\f]"
* Определяет ни одного или несколько символов, стоящих перед ним.
получаеццо что [\s\S]* означает любое количество любых символов


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеikki, \s - Пробельный символ (space, tab, vblf и т.п.). Эквивалентно выражению "[ \r\t\n\f]"
\S - Непробельный символ. Эквивалентно выражению "[^ \r\t\n\f]"
* Определяет ни одного или несколько символов, стоящих перед ним.
получаеццо что [\s\S]* означает любое количество любых символов

Автор - krosav4ig
Дата добавления - 17.11.2014 в 10:20
krosav4ig Дата: Воскресенье, 16.11.2014, 21:57 | Сообщение № 2004 | Тема: Подсчет периода времени простаивания техники
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
файл-пример в excel с вас
причетается


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениефайл-пример в excel с вас
причетается

Автор - krosav4ig
Дата добавления - 16.11.2014 в 21:57
krosav4ig Дата: Воскресенье, 16.11.2014, 19:34 | Сообщение № 2005 | Тема: Перенос регулярки из Word в Excel
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
RAN, $1 - то что нашлось в первых скобках, $2 -во вторых, и т.д.
точно так же как и в word в замене с подстановочными знаками (\1 , \2)
вот к примеру эта функция возвращает из строки фамилию с инициалами
[vba]
Код
Function getFIO$(str$)
     Dim S$: S = Trim(str)
     With CreateObject("VBScript.RegExp")
         .IgnoreCase = False
         .Global = True
         .Pattern = "([.-]) +"
         Do
             If .Test(S) Then S = .Replace(S, "$1")
         Loop While .Test(S)
         .Pattern = "[\s\S]*?([А-Яа-яЁё]+ [А-ЯЁ.-]{4,7})[\s\S]*"
         If .Test(S) Then getFIO = .Replace(S, "$1")
     End With
End Function
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Воскресенье, 16.11.2014, 21:37
 
Ответить
СообщениеRAN, $1 - то что нашлось в первых скобках, $2 -во вторых, и т.д.
точно так же как и в word в замене с подстановочными знаками (\1 , \2)
вот к примеру эта функция возвращает из строки фамилию с инициалами
[vba]
Код
Function getFIO$(str$)
     Dim S$: S = Trim(str)
     With CreateObject("VBScript.RegExp")
         .IgnoreCase = False
         .Global = True
         .Pattern = "([.-]) +"
         Do
             If .Test(S) Then S = .Replace(S, "$1")
         Loop While .Test(S)
         .Pattern = "[\s\S]*?([А-Яа-яЁё]+ [А-ЯЁ.-]{4,7})[\s\S]*"
         If .Test(S) Then getFIO = .Replace(S, "$1")
     End With
End Function
[/vba]

Автор - krosav4ig
Дата добавления - 16.11.2014 в 19:34
krosav4ig Дата: Воскресенье, 16.11.2014, 19:24 | Сообщение № 2006 | Тема: Перенос регулярки из Word в Excel
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
можно еще и так
[vba]
Код
Public Function ФИО$(S)
Dim Sout As String
Sout = S
     Set RegExp = CreateObject("VBScript.RegExp")
     RegExp.Global = True
     RegExp.Pattern = "([\s\S]*)([а-я])([А-Я])([\s\S]*)"
     Do
         If RegExp.test(Sout) Then
             Sout = RegExp.Replace(Sout, "$1$2 $3$4")
         End If
     Loop While RegExp.test(Sout)
    ФИО = Trim(Sout)
End Function
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеможно еще и так
[vba]
Код
Public Function ФИО$(S)
Dim Sout As String
Sout = S
     Set RegExp = CreateObject("VBScript.RegExp")
     RegExp.Global = True
     RegExp.Pattern = "([\s\S]*)([а-я])([А-Я])([\s\S]*)"
     Do
         If RegExp.test(Sout) Then
             Sout = RegExp.Replace(Sout, "$1$2 $3$4")
         End If
     Loop While RegExp.test(Sout)
    ФИО = Trim(Sout)
End Function
[/vba]

Автор - krosav4ig
Дата добавления - 16.11.2014 в 19:24
krosav4ig Дата: Воскресенье, 16.11.2014, 13:53 | Сообщение № 2007 | Тема: Как заставить Excel-2010 открывать файлы в одном окне?
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Alex_ST, поставьте надстройку office tab и будет вам щастье :)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеAlex_ST, поставьте надстройку office tab и будет вам щастье :)

Автор - krosav4ig
Дата добавления - 16.11.2014 в 13:53
krosav4ig Дата: Воскресенье, 16.11.2014, 00:06 | Сообщение № 2008 | Тема: Кодировка символов с VBA и с клавиатуры - откуда различие?
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[offtop]и alt+751 тоже :)
Shift+Insert и Ctrl+Insert для копирования и вставки
а Shift+Del для вырезания?


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение[offtop]и alt+751 тоже :)
Shift+Insert и Ctrl+Insert для копирования и вставки
а Shift+Del для вырезания?

Автор - krosav4ig
Дата добавления - 16.11.2014 в 00:06
krosav4ig Дата: Суббота, 15.11.2014, 03:41 | Сообщение № 2009 | Тема: Управление мышкой макросом
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
и думается мне, что все-таки лучше кликать не по координатам, а по самой кнопке, отправляя сообщения в окно по hwnd.
что-то типа такого:
[vba]
Код
Private Declare Function GetDesktopWindow Lib "user32.dll" () As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long
Sub sss()
     Dim h As Long
     h = FindWindowEx(GetDesktopWindow, 0, "Button", "Start")
     If h <> 0 Then
         SendMessage h, &HF5, 0, 0
         SendMessage h, &H202, 0, 0
     End If
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеи думается мне, что все-таки лучше кликать не по координатам, а по самой кнопке, отправляя сообщения в окно по hwnd.
что-то типа такого:
[vba]
Код
Private Declare Function GetDesktopWindow Lib "user32.dll" () As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long
Sub sss()
     Dim h As Long
     h = FindWindowEx(GetDesktopWindow, 0, "Button", "Start")
     If h <> 0 Then
         SendMessage h, &HF5, 0, 0
         SendMessage h, &H202, 0, 0
     End If
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 15.11.2014 в 03:41
krosav4ig Дата: Пятница, 14.11.2014, 23:12 | Сообщение № 2010 | Тема: Управление мышкой макросом
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
по поводу первого макрос, так имхо надежнее будет:
[vba]
Код
Private Type POINTAPI
         x As Long
         y As Long
End Type
Private Declare Function GetCursorPos Lib "user32.dll" (lpPoint As POINTAPI) As Long
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Sub clickpos()
     Dim i%, curpos As POINTAPI
     Do
         If GetAsyncKeyState(1) And &H8000 Then
             GetCursorPos curpos
             [A1].Offset(i) = curpos.x
             [A1].Offset(i, 1) = curpos.y
             i = i + 1
             Do
                 DoEvents
             Loop While GetAsyncKeyState(1) And &H8000
         End If
         DoEvents
     Loop Until i = 3
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениепо поводу первого макрос, так имхо надежнее будет:
[vba]
Код
Private Type POINTAPI
         x As Long
         y As Long
End Type
Private Declare Function GetCursorPos Lib "user32.dll" (lpPoint As POINTAPI) As Long
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Sub clickpos()
     Dim i%, curpos As POINTAPI
     Do
         If GetAsyncKeyState(1) And &H8000 Then
             GetCursorPos curpos
             [A1].Offset(i) = curpos.x
             [A1].Offset(i, 1) = curpos.y
             i = i + 1
             Do
                 DoEvents
             Loop While GetAsyncKeyState(1) And &H8000
         End If
         DoEvents
     Loop Until i = 3
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 14.11.2014 в 23:12
krosav4ig Дата: Пятница, 14.11.2014, 23:05 | Сообщение № 2011 | Тема: Вытягивать из диапазона положительные числа
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
че-то я погорячился, в файле из 10 поста и во 2 файле из 8 поста формулы неверные. вот с правильными формулами
К сообщению приложен файл: 8498432.xlsx (11.8 Kb) · 1093144.xlsx (11.9 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениече-то я погорячился, в файле из 10 поста и во 2 файле из 8 поста формулы неверные. вот с правильными формулами

Автор - krosav4ig
Дата добавления - 14.11.2014 в 23:05
krosav4ig Дата: Пятница, 14.11.2014, 15:20 | Сообщение № 2012 | Тема: Трансформ текста ячейки в строки
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
немного по-еврейски :)
[vba]
Код
Sub sdf()
       Dim cell As Range, arr As Variant
       If Selection.Columns.Count > 1 Then Exit Sub
       With Application: .ScreenUpdating = 0: .EnableEvents = 0
           With CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
               For Each cell In Selection
                   arr = Split(cell, ", ")
                   If UBound(arr) * Len(cell) Then
                       cell.EntireRow.Offset(1).Resize(UBound(arr)).Insert
                       cell.EntireRow.Copy cell.EntireRow.Offset(1).Resize(UBound(arr))
                       .SetText Replace(Trim(cell), ", ", Chr(10)): .PutInClipboard
                       cell.PasteSpecial xlPasteAll
                   End If
                   Next
           End With
       .ScreenUpdating = 1: .EnableEvents = 1: End With
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Пятница, 14.11.2014, 15:22
 
Ответить
Сообщениенемного по-еврейски :)
[vba]
Код
Sub sdf()
       Dim cell As Range, arr As Variant
       If Selection.Columns.Count > 1 Then Exit Sub
       With Application: .ScreenUpdating = 0: .EnableEvents = 0
           With CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
               For Each cell In Selection
                   arr = Split(cell, ", ")
                   If UBound(arr) * Len(cell) Then
                       cell.EntireRow.Offset(1).Resize(UBound(arr)).Insert
                       cell.EntireRow.Copy cell.EntireRow.Offset(1).Resize(UBound(arr))
                       .SetText Replace(Trim(cell), ", ", Chr(10)): .PutInClipboard
                       cell.PasteSpecial xlPasteAll
                   End If
                   Next
           End With
       .ScreenUpdating = 1: .EnableEvents = 1: End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 14.11.2014 в 15:20
krosav4ig Дата: Четверг, 13.11.2014, 19:21 | Сообщение № 2013 | Тема: Вытягивать из диапазона положительные числа
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
еще 1 вариант ^_^
К сообщению приложен файл: 1283276-3.xlsx (11.2 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениееще 1 вариант ^_^

Автор - krosav4ig
Дата добавления - 13.11.2014 в 19:21
krosav4ig Дата: Четверг, 13.11.2014, 18:58 | Сообщение № 2014 | Тема: Вытягивать из диапазона положительные числа
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
еще пару вариантов
К сообщению приложен файл: 1283276-1.xlsx (11.1 Kb) · 1283276-2.xlsx (11.1 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениееще пару вариантов

Автор - krosav4ig
Дата добавления - 13.11.2014 в 18:58
krosav4ig Дата: Среда, 12.11.2014, 14:51 | Сообщение № 2015 | Тема: Подсчёт суммы уникальных значений среди повторяющих
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
а я тут наваял очередного монстра, с фильтром тоже не работает.
К сообщению приложен файл: 8943866.xlsx (13.8 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Среда, 12.11.2014, 14:57
 
Ответить
Сообщениеа я тут наваял очередного монстра, с фильтром тоже не работает.

Автор - krosav4ig
Дата добавления - 12.11.2014 в 14:51
krosav4ig Дата: Среда, 12.11.2014, 02:20 | Сообщение № 2016 | Тема: счет уникальных данных в массиве
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
и еще вариант с проверкой на пустые значения, формула немассивная (подсмотрел у MCH)
Код
=СУММПРОИЗВ(СЧЁТЕСЛИМН($A$6:$A$25;$A$6:$A$25;$B$6:$B$25;$B$6:$B$25)^(2*(($A$6:$A$25=0)+($B$6:$B$25=0))-1))

Код
=СУММПРОИЗВ(СЧЁТЕСЛИМН($A$6:$A$25;$A$6:$A$25;$C$6:$C$25;$C$6:$C$25)^(2*(($A$6:$A$25=0)+($C$6:$C$25=0))-1))


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеи еще вариант с проверкой на пустые значения, формула немассивная (подсмотрел у MCH)
Код
=СУММПРОИЗВ(СЧЁТЕСЛИМН($A$6:$A$25;$A$6:$A$25;$B$6:$B$25;$B$6:$B$25)^(2*(($A$6:$A$25=0)+($B$6:$B$25=0))-1))

Код
=СУММПРОИЗВ(СЧЁТЕСЛИМН($A$6:$A$25;$A$6:$A$25;$C$6:$C$25;$C$6:$C$25)^(2*(($A$6:$A$25=0)+($C$6:$C$25=0))-1))

Автор - krosav4ig
Дата добавления - 12.11.2014 в 02:20
krosav4ig Дата: Среда, 12.11.2014, 00:06 | Сообщение № 2017 | Тема: счет уникальных данных в массиве
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
формулы массивные
Код
=СУММ(1/СЧЁТЕСЛИМН($A$6:$A$25;$A$6:$A$25;$B$6:$B$25;$B$6:$B$25))

Код
=СУММ(1/СЧЁТЕСЛИМН($A$6:$A$25;$A$6:$A$25;$C$6:$C$25;$C$6:$C$25))
К сообщению приложен файл: 6447601.xls (32.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеформулы массивные
Код
=СУММ(1/СЧЁТЕСЛИМН($A$6:$A$25;$A$6:$A$25;$B$6:$B$25;$B$6:$B$25))

Код
=СУММ(1/СЧЁТЕСЛИМН($A$6:$A$25;$A$6:$A$25;$C$6:$C$25;$C$6:$C$25))

Автор - krosav4ig
Дата добавления - 12.11.2014 в 00:06
krosav4ig Дата: Вторник, 11.11.2014, 21:34 | Сообщение № 2018 | Тема: Заливка цветом диапазона ячеек во всех листах.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
vdekameron, ну дык
в первом листе


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Вторник, 11.11.2014, 21:35
 
Ответить
Сообщениеvdekameron, ну дык
в первом листе

Автор - krosav4ig
Дата добавления - 11.11.2014 в 21:34
krosav4ig Дата: Вторник, 11.11.2014, 16:40 | Сообщение № 2019 | Тема: Заливка цветом диапазона ячеек во всех листах.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
В принципе, можно обойтись и без кнопок и т.п. (еврейский вариант)
В модуль ЭтаКнига
[vba]
Код
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
     Dim cell As Range, cell2 As Range
     Application.ScreenUpdating = False
     If Not Sh Is Sheets(1) Then
         For Each cell In Sh.[B5:B30]
             Set cell2 = Sheets(1).Range(cell.Address)
             cell.Interior.ColorIndex = cell2.Interior.ColorIndex
         Next
     End If
     Application.ScreenUpdating = True
End Sub
[/vba]
К сообщению приложен файл: 6020963-1-.xlsm (33.9 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеВ принципе, можно обойтись и без кнопок и т.п. (еврейский вариант)
В модуль ЭтаКнига
[vba]
Код
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
     Dim cell As Range, cell2 As Range
     Application.ScreenUpdating = False
     If Not Sh Is Sheets(1) Then
         For Each cell In Sh.[B5:B30]
             Set cell2 = Sheets(1).Range(cell.Address)
             cell.Interior.ColorIndex = cell2.Interior.ColorIndex
         Next
     End If
     Application.ScreenUpdating = True
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 11.11.2014 в 16:40
krosav4ig Дата: Вторник, 11.11.2014, 01:49 | Сообщение № 2020 | Тема: Поиск, вывод значений из столбца с учетом двух критериев
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
для гуглдок формула
Цитата
=ArrayFormula(IFERROR(INDEX(B$1:B$65536;SMALL(IF((C$2:G$2=J$2)*ISNUMBER(C$3:G$8)*(C$3:G$8<=CHOOSE(SUM(ISNUMBER(SEARCH({"-"\" "};J$3))*{1\2};1);J$3;--REPLACE(J$3;1;SEARCH("-";J$3););9^9))*(C$3:G$8>=CHOOSE(SUM(ISNUMBER(SEARCH({"-"\" "};J$3))*{1\2};1);J$3;LEFT(J$3;SEARCH("-";J$3)-1)%;LEFT(J$3;SEARCH(" ";J$3)-1)%));ROW(B$3:B$8););ROW(O1)));))

для OO Calc (у мну 4.1.1, в 3 введенные формулы работают, но новые ввести не получится)
Цитата
=T(INDEX(B$1:B$65536;SMALL(IF((C$2:G$2=J$2)*ISNUMBER(C$3:G$8)*(C$3:G$8<=CHOOSE(SUM(ISNUMBER(SEARCH({"-";" "};J$3))*{1;2};1);J$3;SUBSTITUTE(REPLACE(J$3;1;SEARCH("-";J$3);"");"%";"")%;9^9))*(C$3:G$8>=CHOOSE(SUM(ISNUMBER(SEARCH({"-";" "};J$3))*{1;2};1);J$3;LEFT(J$3;SEARCH("-";J$3)-1)%;LEFT(J$3;SEARCH(" ";J$3)-1)%));ROW(B$3:B$8);4^8);ROW(O1))))
К сообщению приложен файл: 31101071.ods (15.5 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Вторник, 11.11.2014, 12:35
 
Ответить
Сообщениедля гуглдок формула
Цитата
=ArrayFormula(IFERROR(INDEX(B$1:B$65536;SMALL(IF((C$2:G$2=J$2)*ISNUMBER(C$3:G$8)*(C$3:G$8<=CHOOSE(SUM(ISNUMBER(SEARCH({"-"\" "};J$3))*{1\2};1);J$3;--REPLACE(J$3;1;SEARCH("-";J$3););9^9))*(C$3:G$8>=CHOOSE(SUM(ISNUMBER(SEARCH({"-"\" "};J$3))*{1\2};1);J$3;LEFT(J$3;SEARCH("-";J$3)-1)%;LEFT(J$3;SEARCH(" ";J$3)-1)%));ROW(B$3:B$8););ROW(O1)));))

для OO Calc (у мну 4.1.1, в 3 введенные формулы работают, но новые ввести не получится)
Цитата
=T(INDEX(B$1:B$65536;SMALL(IF((C$2:G$2=J$2)*ISNUMBER(C$3:G$8)*(C$3:G$8<=CHOOSE(SUM(ISNUMBER(SEARCH({"-";" "};J$3))*{1;2};1);J$3;SUBSTITUTE(REPLACE(J$3;1;SEARCH("-";J$3);"");"%";"")%;9^9))*(C$3:G$8>=CHOOSE(SUM(ISNUMBER(SEARCH({"-";" "};J$3))*{1;2};1);J$3;LEFT(J$3;SEARCH("-";J$3)-1)%;LEFT(J$3;SEARCH(" ";J$3)-1)%));ROW(B$3:B$8);4^8);ROW(O1))))

Автор - krosav4ig
Дата добавления - 11.11.2014 в 01:49
Поиск:

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