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

Вход

Регистрация

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

 

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

Результаты поиска
krosav4ig Дата: Четверг, 01.02.2018, 14:26 | Сообщение № 801 | Тема: Перенос значения ячейки с изменением формата и коррект.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Код
=ЕСЛИОШИБКА(ОСТАТ(ПСТР(ПОДСТАВИТЬ(","&$A1;",";ПОВТОР(" ";99));99*СТОЛБЕЦ(A1);99);10^7);"")
К сообщению приложен файл: 2014932.xls (26.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
Код
=ЕСЛИОШИБКА(ОСТАТ(ПСТР(ПОДСТАВИТЬ(","&$A1;",";ПОВТОР(" ";99));99*СТОЛБЕЦ(A1);99);10^7);"")

Автор - krosav4ig
Дата добавления - 01.02.2018 в 14:26
krosav4ig Дата: Четверг, 01.02.2018, 03:35 | Сообщение № 802 | Тема: Макрос: ввод чч:мм:сс без двоеточий.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте
Можно как-то так
В модуль ЭтаКнига
[vba]
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    With Target
        If .NumberFormat = "[h]:mm:ss" And Int(.Value) = .Value Then
            Application.EnableEvents = False
            .Formula = Format(.Formula, "00:00:00")
            .NumberFormat = "[h]:mm:ss"
            Application.EnableEvents = True
        End If
    End With
End Sub
[/vba]
К сообщению приложен файл: 0579909.xlsm (34.4 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеЗдравствуйте
Можно как-то так
В модуль ЭтаКнига
[vba]
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    With Target
        If .NumberFormat = "[h]:mm:ss" And Int(.Value) = .Value Then
            Application.EnableEvents = False
            .Formula = Format(.Formula, "00:00:00")
            .NumberFormat = "[h]:mm:ss"
            Application.EnableEvents = True
        End If
    End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 01.02.2018 в 03:35
krosav4ig Дата: Четверг, 01.02.2018, 00:33 | Сообщение № 803 | Тема: Перемещение UserForm в любую область
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[vba]
Код
Option Explicit
    'константы для функций API
    Private Const GWL_STYLE As Long = -16& 'для установки нового вида окна
    Private Const GWL_EXSTYLE = -20& 'для расширенного стиля окна
    Private Const WS_CAPTION As Long = &HC00000 'определяет заголовок
    Private Const WS_BORDER As Long = &H800000 'определяет рамку формы
    
    Private Const WM_NCLBUTTONDOWN = &HA1
    Private Const HTCAPTION = 2
    
    'Функции API, применяемые для поиска окна и изменения его стиля
#If VBA7 Then
    Private Declare PtrSafe Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hwnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr
    Private Declare PtrSafe Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hwnd As LongPtr, ByVal nIndex As Long) As LongPtr
    Private Declare PtrSafe Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
    Private Declare PtrSafe Function DrawMenuBar Lib "User32" (ByVal hwnd As LongPtr) As Long

    Private Declare PtrSafe Function SendMessage Lib "user32" Alias "SendMessageA"  (ByVal hwnd As LongPtr, ByVal wMsg As Long, ByVal wParam As LongPtr, lParam As Any) As LongPtr
    Private Declare PtrSafe Sub ReleaseCapture Lib "user32" ()
    
    Dim ihWnd As LongPtr
#Else
    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
    Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function DrawMenuBar Lib "user32.dll" (ByVal hwnd As Long) As Long

    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    Private Declare Sub ReleaseCapture Lib "user32" ()
    
    Dim ihWnd As Long
#End If

Private Sub UserForm_Initialize()
    Dim hStyle
    'ищем окно формы среди всех открытых окон
    If VAL(Application.Version) < 9 Then
        ihWnd = FindWindow("ThunderXFrame", Me.Caption) 'для Excel 97
    Else
        ihWnd = FindWindow("ThunderDFrame", Me.Caption) 'для Excel 2000 и выше
    End If
    'получаем информацию о найденном окне(стили и т.д.)
    hStyle = GetWindowLong(ihWnd, GWL_STYLE)
    'назначаем переменной новый стиль для окна формы
    hStyle = hStyle And Not WS_CAPTION And Not WS_BORDER
    'изменяем вид окна: убираем меню(заголовок) и рамку
    SetWindowLong ihWnd, GWL_STYLE, hStyle
    SetWindowLong ihWnd, GWL_EXSTYLE, 0
    'перерисовываем форму, точнее строку меню(заголовка)
    DrawMenuBar ihWnd
    'меняем размер формы, т.к. сделали смещение элементов формы вверх на высоту заголовка
    Me.Height = Me.Height + GWL_EXSTYLE
End Sub

Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    If Button = 1 Then
        ReleaseCapture
        SendMessage ihWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
    End If
End Sub

Private Sub ЗАКРЫТЬ_Click()
    Unload Me
End Sub
[/vba]


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

Сообщение отредактировал krosav4ig - Четверг, 01.02.2018, 00:33
 
Ответить
Сообщение[vba]
Код
Option Explicit
    'константы для функций API
    Private Const GWL_STYLE As Long = -16& 'для установки нового вида окна
    Private Const GWL_EXSTYLE = -20& 'для расширенного стиля окна
    Private Const WS_CAPTION As Long = &HC00000 'определяет заголовок
    Private Const WS_BORDER As Long = &H800000 'определяет рамку формы
    
    Private Const WM_NCLBUTTONDOWN = &HA1
    Private Const HTCAPTION = 2
    
    'Функции API, применяемые для поиска окна и изменения его стиля
#If VBA7 Then
    Private Declare PtrSafe Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hwnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr
    Private Declare PtrSafe Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hwnd As LongPtr, ByVal nIndex As Long) As LongPtr
    Private Declare PtrSafe Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
    Private Declare PtrSafe Function DrawMenuBar Lib "User32" (ByVal hwnd As LongPtr) As Long

    Private Declare PtrSafe Function SendMessage Lib "user32" Alias "SendMessageA"  (ByVal hwnd As LongPtr, ByVal wMsg As Long, ByVal wParam As LongPtr, lParam As Any) As LongPtr
    Private Declare PtrSafe Sub ReleaseCapture Lib "user32" ()
    
    Dim ihWnd As LongPtr
#Else
    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
    Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function DrawMenuBar Lib "user32.dll" (ByVal hwnd As Long) As Long

    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    Private Declare Sub ReleaseCapture Lib "user32" ()
    
    Dim ihWnd As Long
#End If

Private Sub UserForm_Initialize()
    Dim hStyle
    'ищем окно формы среди всех открытых окон
    If VAL(Application.Version) < 9 Then
        ihWnd = FindWindow("ThunderXFrame", Me.Caption) 'для Excel 97
    Else
        ihWnd = FindWindow("ThunderDFrame", Me.Caption) 'для Excel 2000 и выше
    End If
    'получаем информацию о найденном окне(стили и т.д.)
    hStyle = GetWindowLong(ihWnd, GWL_STYLE)
    'назначаем переменной новый стиль для окна формы
    hStyle = hStyle And Not WS_CAPTION And Not WS_BORDER
    'изменяем вид окна: убираем меню(заголовок) и рамку
    SetWindowLong ihWnd, GWL_STYLE, hStyle
    SetWindowLong ihWnd, GWL_EXSTYLE, 0
    'перерисовываем форму, точнее строку меню(заголовка)
    DrawMenuBar ihWnd
    'меняем размер формы, т.к. сделали смещение элементов формы вверх на высоту заголовка
    Me.Height = Me.Height + GWL_EXSTYLE
End Sub

Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    If Button = 1 Then
        ReleaseCapture
        SendMessage ihWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
    End If
End Sub

Private Sub ЗАКРЫТЬ_Click()
    Unload Me
End Sub
[/vba]

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

Excel 2007,2010,2013
для возможности быстро поправить и не запутаться в "мегаформуле"

можно использовать бесплатную надстройку FormulaDesk


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
для возможности быстро поправить и не запутаться в "мегаформуле"

можно использовать бесплатную надстройку FormulaDesk

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

Excel 2007,2010,2013
как-то так должно быть[vba]
Код
Sub ertert()
Dim wsh As Worksheet, dt As Date, x, y(), i&, k&
dt = Range("A1").Value
Range("A1").CurrentRegion.Offset(1).ClearContents

For Each wsh In ThisWorkbook.Sheets
    If Not wsh Is ActiveSheet Then
        x = wsh.Range("I1").CurrentRegion.Value
        If Not IsEmpty(x) Then
            k = 0
            ReDim y(1 To UBound(x), 1 To 4)
            For i = 1 To UBound(x) Step 2
                If x(i, 1) = dt Then
                    k = k + 1
                    y(k, 1) = dt
                    y(k, 2) = x(i + 1, 1)
                    y(k, 3) = x(i, 2)
                    y(k, 4) = x(i + 1, 2)
               End If
            Next i
         End If
    If k > 0 Then Cells(Rows.Count, 2).End(xlUp)(2, 1).Resize(k, 4).Value = y()
    End If
Next wsh
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениекак-то так должно быть[vba]
Код
Sub ertert()
Dim wsh As Worksheet, dt As Date, x, y(), i&, k&
dt = Range("A1").Value
Range("A1").CurrentRegion.Offset(1).ClearContents

For Each wsh In ThisWorkbook.Sheets
    If Not wsh Is ActiveSheet Then
        x = wsh.Range("I1").CurrentRegion.Value
        If Not IsEmpty(x) Then
            k = 0
            ReDim y(1 To UBound(x), 1 To 4)
            For i = 1 To UBound(x) Step 2
                If x(i, 1) = dt Then
                    k = k + 1
                    y(k, 1) = dt
                    y(k, 2) = x(i + 1, 1)
                    y(k, 3) = x(i, 2)
                    y(k, 4) = x(i + 1, 2)
               End If
            Next i
         End If
    If k > 0 Then Cells(Rows.Count, 2).End(xlUp)(2, 1).Resize(k, 4).Value = y()
    End If
Next wsh
[/vba]

Автор - krosav4ig
Дата добавления - 31.01.2018 в 02:15
krosav4ig Дата: Вторник, 30.01.2018, 15:59 | Сообщение № 806 | Тема: Найти слово на латинском и сделать первую букву Большой
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
и я того же мнения
[vba]
Код
Function ЗаменитьБукву$(s$)
    With CreateObject("scriptcontrol")
        .Language = "JScript"
        ЗаменитьБукву = .eval("'" & s & "'.replace(/(?:^|\b)([a-z])/gi, " & _
            "function(a) { return a.toUpperCase(); })")
    End With
End Function
[/vba]
К сообщению приложен файл: 1427423.xlsm (15.8 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеи я того же мнения
[vba]
Код
Function ЗаменитьБукву$(s$)
    With CreateObject("scriptcontrol")
        .Language = "JScript"
        ЗаменитьБукву = .eval("'" & s & "'.replace(/(?:^|\b)([a-z])/gi, " & _
            "function(a) { return a.toUpperCase(); })")
    End With
End Function
[/vba]

Автор - krosav4ig
Дата добавления - 30.01.2018 в 15:59
krosav4ig Дата: Вторник, 30.01.2018, 04:01 | Сообщение № 807 | Тема: Выписка с сайта - списка адресов электронной почты
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
DJBeast, нужна надстройка Power Query


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеDJBeast, нужна надстройка Power Query

Автор - krosav4ig
Дата добавления - 30.01.2018 в 04:01
krosav4ig Дата: Пятница, 26.01.2018, 17:03 | Сообщение № 808 | Тема: Перенос данных из строки в таблицу
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте.
Можно как-то так
[vba]
Код
Private Sub TextBox1_Change()
    If Not IsNumeric(TextBox1) Or Val(TextBox1) <= 0 Then Exit Sub
    Лист2.[C6:C8] = Application.Transpose(Лист1.[B4:D4].Offset(TextBox1))
End Sub
[/vba]
К сообщению приложен файл: 8948424.xlsm (19.9 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеЗдравствуйте.
Можно как-то так
[vba]
Код
Private Sub TextBox1_Change()
    If Not IsNumeric(TextBox1) Or Val(TextBox1) <= 0 Then Exit Sub
    Лист2.[C6:C8] = Application.Transpose(Лист1.[B4:D4].Offset(TextBox1))
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 26.01.2018 в 17:03
krosav4ig Дата: Пятница, 26.01.2018, 16:51 | Сообщение № 809 | Тема: Удаление ячеек с заданным словом часть 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
[vba]
Код
Sub vvv()
    Dim v As Variant
    On Error Resume Next
    With Selection
        For Each v In Array("авто*", "Метла", "61??", ChrW(157))
            .Replace v, "=xfd1", xlWhole, searchformat:=False
            Intersect([xfd1].Dependents, .Cells).Delete xlUp
        Next
    End With
End Sub
[/vba]
Как такой знак прописать

для начала нужно выделить ячейку с этим символом, в VBE в окно Immediate(если его нету, нажать Ctrl+G для отобраения) ввести ?ascw(selection) и нажать Enter
Полученное число вставить в функцию ChwW() вместо 157


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

Сообщение отредактировал krosav4ig - Пятница, 26.01.2018, 16:52
 
Ответить
Сообщение[vba]
Код
Sub vvv()
    Dim v As Variant
    On Error Resume Next
    With Selection
        For Each v In Array("авто*", "Метла", "61??", ChrW(157))
            .Replace v, "=xfd1", xlWhole, searchformat:=False
            Intersect([xfd1].Dependents, .Cells).Delete xlUp
        Next
    End With
End Sub
[/vba]
Как такой знак прописать

для начала нужно выделить ячейку с этим символом, в VBE в окно Immediate(если его нету, нажать Ctrl+G для отобраения) ввести ?ascw(selection) и нажать Enter
Полученное число вставить в функцию ChwW() вместо 157

Автор - krosav4ig
Дата добавления - 26.01.2018 в 16:51
krosav4ig Дата: Пятница, 26.01.2018, 00:14 | Сообщение № 810 | Тема: Перебор и ранжирование наименьших чисел
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
.
К сообщению приложен файл: 2147301.xlsx (11.5 Kb)


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

Сообщение отредактировал krosav4ig - Пятница, 26.01.2018, 00:16
 
Ответить
Сообщение.

Автор - krosav4ig
Дата добавления - 26.01.2018 в 00:14
krosav4ig Дата: Четверг, 25.01.2018, 23:55 | Сообщение № 811 | Тема: Перебор и ранжирование наименьших чисел
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
master-dd, возле формулы слева есть пимпочка с флагом , тыкните по ней
куда её вставлять...

В ячейеку B15 и протянуть вниз


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

Сообщение отредактировал krosav4ig - Пятница, 26.01.2018, 00:11
 
Ответить
Сообщениеmaster-dd, возле формулы слева есть пимпочка с флагом , тыкните по ней
куда её вставлять...

В ячейеку B15 и протянуть вниз

Автор - krosav4ig
Дата добавления - 25.01.2018 в 23:55
krosav4ig Дата: Четверг, 25.01.2018, 23:53 | Сообщение № 812 | Тема: Удаление рисунков с определенным именем
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
или так
[vba]
Код
Sub Макрос1()
    Application.ScreenUpdating = False
    Dim sh As Shape
    On Error Resume Next
    Set sh = ActiveSheet.Shapes("Вставленный")
    Do Until sh Is Nothing
        sh.Delete
        Set sh = Nothing
        Set sh = ActiveSheet.Shapes("Вставленный")
    Loop
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеили так
[vba]
Код
Sub Макрос1()
    Application.ScreenUpdating = False
    Dim sh As Shape
    On Error Resume Next
    Set sh = ActiveSheet.Shapes("Вставленный")
    Do Until sh Is Nothing
        sh.Delete
        Set sh = Nothing
        Set sh = ActiveSheet.Shapes("Вставленный")
    Loop
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 25.01.2018 в 23:53
krosav4ig Дата: Четверг, 25.01.2018, 23:44 | Сообщение № 813 | Тема: При смене данных таблица не считает.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
формула для списка команд (столбец K)
Код
=ЕСЛИОШИБКА(ПРОСМОТР(;-1/ЕНД(ПОИСКПОЗ($C$5:ИНДЕКС(C:C;ПОИСКПОЗ("яяя";$C$1:$C$77));$K$4:K4;));$C$5:$C$77);"")
К сообщению приложен файл: 5541745.xlsx (20.4 Kb)


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

Сообщение отредактировал krosav4ig - Четверг, 25.01.2018, 23:46
 
Ответить
Сообщениеформула для списка команд (столбец K)
Код
=ЕСЛИОШИБКА(ПРОСМОТР(;-1/ЕНД(ПОИСКПОЗ($C$5:ИНДЕКС(C:C;ПОИСКПОЗ("яяя";$C$1:$C$77));$K$4:K4;));$C$5:$C$77);"")

Автор - krosav4ig
Дата добавления - 25.01.2018 в 23:44
krosav4ig Дата: Четверг, 25.01.2018, 22:50 | Сообщение № 814 | Тема: Подсчёт количества дней недели между датами
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
С учетом праздничных дней
Код
=ОТБР((B2-ОКРВНИЗ(B1-B3-1;7)-B3-1)/7)-СЧЁТ(1/(ДЕНЬНЕД(ТЕКСТ(ТЕКСТ({43101:43102:43103:43104:43105:43106:43107:43108:43154:43167:43168:43220:43221:43222:43229:43262:43263:43409:43465};"[>="&B1&"]0;");"[<="&B2&"]0;"))=B3))
К сообщению приложен файл: 9135550.xlsx (8.8 Kb)


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

Сообщение отредактировал krosav4ig - Пятница, 26.01.2018, 00:27
 
Ответить
СообщениеС учетом праздничных дней
Код
=ОТБР((B2-ОКРВНИЗ(B1-B3-1;7)-B3-1)/7)-СЧЁТ(1/(ДЕНЬНЕД(ТЕКСТ(ТЕКСТ({43101:43102:43103:43104:43105:43106:43107:43108:43154:43167:43168:43220:43221:43222:43229:43262:43263:43409:43465};"[>="&B1&"]0;");"[<="&B2&"]0;"))=B3))

Автор - krosav4ig
Дата добавления - 25.01.2018 в 22:50
krosav4ig Дата: Четверг, 25.01.2018, 20:38 | Сообщение № 815 | Тема: Удаление ячеек с заданным словом
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
до кучи
[vba]
Код
Sub vvv()
    With Selection
        .Replace "Автомобиль", "=xx1", xlWhole
        Intersect([xx1].Dependents, .Cells).Delete xlUp
        With .SpecialCells(xlCellTypeConstants, 1)
            Set r = .Find("?", , xlValues, xlWhole, Searchformat:=False)
            Do While Not r Is Nothing
                r.Formula = Format(r, "'00")
                Set r = .FindNext(r)
            Loop
        End With
    End With
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениедо кучи
[vba]
Код
Sub vvv()
    With Selection
        .Replace "Автомобиль", "=xx1", xlWhole
        Intersect([xx1].Dependents, .Cells).Delete xlUp
        With .SpecialCells(xlCellTypeConstants, 1)
            Set r = .Find("?", , xlValues, xlWhole, Searchformat:=False)
            Do While Not r Is Nothing
                r.Formula = Format(r, "'00")
                Set r = .FindNext(r)
            Loop
        End With
    End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 25.01.2018 в 20:38
krosav4ig Дата: Четверг, 25.01.2018, 19:19 | Сообщение № 816 | Тема: Подсчёт количества дней недели между датами
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
мог бы пояснить написанное

по моей формуле
Без учета праздничных дней
1) С - Начальная дата от которой считаются дни недели
Код
С    =Лист1!$B$1
2) ПО - Конечная дата до которой считаются дни недели
Код
По    =Лист1!$B$2
3) ДН - порядковый номер дня недели
Код
ДН    =Лист1!$B$3
4) Д1 - Дата, значительно меньшая даты С и с днем недели = ДН
Понедельник - 2.1.1900 = 2
Вторник - 3.1.1900 = 3
...
Воскресенье - 8.1.1900 = 8
Код
Д1    =ДН+1
5) дата с днем недели = ДН <= даты С
Код
Д2    =ОКРВНИЗ(С-Д1;7)+Д1
6) Количество дней недели ДН между датами С и По
Код
КДН    =ОТБР((ПО-Д2)/7)
или
Код
=ОТБР((B2-ОКРВНИЗ(B1-B3-1;7)-B3-1)/7)
К сообщению приложен файл: 8878118.xlsx (9.1 Kb)


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

Сообщение отредактировал krosav4ig - Четверг, 25.01.2018, 20:58
 
Ответить
Сообщение
мог бы пояснить написанное

по моей формуле
Без учета праздничных дней
1) С - Начальная дата от которой считаются дни недели
Код
С    =Лист1!$B$1
2) ПО - Конечная дата до которой считаются дни недели
Код
По    =Лист1!$B$2
3) ДН - порядковый номер дня недели
Код
ДН    =Лист1!$B$3
4) Д1 - Дата, значительно меньшая даты С и с днем недели = ДН
Понедельник - 2.1.1900 = 2
Вторник - 3.1.1900 = 3
...
Воскресенье - 8.1.1900 = 8
Код
Д1    =ДН+1
5) дата с днем недели = ДН <= даты С
Код
Д2    =ОКРВНИЗ(С-Д1;7)+Д1
6) Количество дней недели ДН между датами С и По
Код
КДН    =ОТБР((ПО-Д2)/7)
или
Код
=ОТБР((B2-ОКРВНИЗ(B1-B3-1;7)-B3-1)/7)

Автор - krosav4ig
Дата добавления - 25.01.2018 в 19:19
krosav4ig Дата: Четверг, 25.01.2018, 18:15 | Сообщение № 817 | Тема: Подсчёт количества дней недели между датами
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
точно, совсем забыл, нужно было еще 1 неделю вычесть
Код
=ОТБР((B2-ОКРВВЕРХ(B1-B3-8;7)-B3-1)/7)-СУММПРОИЗВ((F2:F10>=B1)*(F2:F10<=B2)*(ДЕНЬНЕД(F2:F10;2)=B3))

или ОКРВНИЗ использовать
Код
=ОТБР((B2-ОКРВНИЗ(С-B3-1;7)-B3-1)/7)-СУММПРОИЗВ((F2:F10>=B1)*(F2:F10<=B2)*(ДЕНЬНЕД(F2:F10;2)=B3))


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

Сообщение отредактировал krosav4ig - Четверг, 25.01.2018, 19:29
 
Ответить
Сообщениеточно, совсем забыл, нужно было еще 1 неделю вычесть
Код
=ОТБР((B2-ОКРВВЕРХ(B1-B3-8;7)-B3-1)/7)-СУММПРОИЗВ((F2:F10>=B1)*(F2:F10<=B2)*(ДЕНЬНЕД(F2:F10;2)=B3))

или ОКРВНИЗ использовать
Код
=ОТБР((B2-ОКРВНИЗ(С-B3-1;7)-B3-1)/7)-СУММПРОИЗВ((F2:F10>=B1)*(F2:F10<=B2)*(ДЕНЬНЕД(F2:F10;2)=B3))

Автор - krosav4ig
Дата добавления - 25.01.2018 в 18:15
krosav4ig Дата: Среда, 24.01.2018, 21:38 | Сообщение № 818 | Тема: Ранг временных показателей.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
чтобы убрать решетки, можно установить числовой формат ч:мм:сс;;; на G5:G77

Как исправить этот недочёт

Код
=ЕСЛИ(G5<"";СЧЁТ(1/ЧАСТОТА(ЕСЛИ((G$5:G$77<=G5)*(G$5:G$77>0);G$5:G$77);G$5:G$77));"")


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

Сообщение отредактировал krosav4ig - Среда, 24.01.2018, 21:44
 
Ответить
Сообщениечтобы убрать решетки, можно установить числовой формат ч:мм:сс;;; на G5:G77

Как исправить этот недочёт

Код
=ЕСЛИ(G5<"";СЧЁТ(1/ЧАСТОТА(ЕСЛИ((G$5:G$77<=G5)*(G$5:G$77>0);G$5:G$77);G$5:G$77));"")

Автор - krosav4ig
Дата добавления - 24.01.2018 в 21:38
krosav4ig Дата: Среда, 24.01.2018, 20:33 | Сообщение № 819 | Тема: Ранг временных показателей.
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте.
Так нужно?
Код
=ЕСЛИ(G5<"";СЧЁТ(1/ЧАСТОТА(ЕСЛИ((G$6:G$77<=G5)*(G$6:G$77>0);G$6:G$77);G$6:G$77));"")
К сообщению приложен файл: 6778303.xlsx (19.8 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеЗдравствуйте.
Так нужно?
Код
=ЕСЛИ(G5<"";СЧЁТ(1/ЧАСТОТА(ЕСЛИ((G$6:G$77<=G5)*(G$6:G$77>0);G$6:G$77);G$6:G$77));"")

Автор - krosav4ig
Дата добавления - 24.01.2018 в 20:33
krosav4ig Дата: Среда, 24.01.2018, 19:38 | Сообщение № 820 | Тема: Формула расчета госпошлины для судебного приказа
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
еще вариант
Код
=МИН(МАКС(ПРОСМОТР(H2%%;{0;2;10;20;100};{0;2;8;13;33}*400)+(H2%%-ПРОСМОТР(H2%%;{0;2;10;20;100}))/1%*ПРОСМОТР(H2%%;{0;2;10;20;100};{4;3;2;1;0,5});400);60000)/2

если не нужна дробная часть то можно использовать ОКРУГЛ()
Код
=ОКРУГЛ(МИН(МАКС(ПРОСМОТР(H2%%;{0;2;10;20;100};{0;2;8;13;33}*400)+(H2%%-ПРОСМОТР(H2%%;{0;2;10;20;100}))/1%*ПРОСМОТР(H2%%;{0;2;10;20;100};{4;3;2;1;0,5});400);60000)/2;0)


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

Сообщение отредактировал krosav4ig - Среда, 24.01.2018, 19:43
 
Ответить
Сообщениееще вариант
Код
=МИН(МАКС(ПРОСМОТР(H2%%;{0;2;10;20;100};{0;2;8;13;33}*400)+(H2%%-ПРОСМОТР(H2%%;{0;2;10;20;100}))/1%*ПРОСМОТР(H2%%;{0;2;10;20;100};{4;3;2;1;0,5});400);60000)/2

если не нужна дробная часть то можно использовать ОКРУГЛ()
Код
=ОКРУГЛ(МИН(МАКС(ПРОСМОТР(H2%%;{0;2;10;20;100};{0;2;8;13;33}*400)+(H2%%-ПРОСМОТР(H2%%;{0;2;10;20;100}))/1%*ПРОСМОТР(H2%%;{0;2;10;20;100};{4;3;2;1;0,5});400);60000)/2;0)

Автор - krosav4ig
Дата добавления - 24.01.2018 в 19:38
Поиск:

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