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

Вход

Регистрация

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

 

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

Результаты поиска
krosav4ig Дата: Суббота, 08.10.2016, 00:36 | Сообщение № 1241 | Тема: Распарсить данные ячейки таблицы
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
для разнообразия, UDF в Power Query
SplitAndExpand
[vba]
Код
(Таблица as table,НомСтолб as number, Разделитель as text) as table =>
let
    Столбец = List.Range(Table.ColumnNames(Таблица),НомСтолб,1){0},
    fn = Splitter.SplitTextByDelimiter(Разделитель, QuoteStyle.None),
    Разделить = Table.TransformColumns(Таблица,{Столбец, fn}),
    Результат = Table.ExpandListColumn(Разделить,Столбец)
in
    Результат
[/vba]
Использование в запросе
[vba]
Код
let
    Источник = SplitAndExpand(Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],1,",")
in
    Источник
[/vba]
К сообщению приложен файл: 2025973.xls (41.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениедля разнообразия, UDF в Power Query
SplitAndExpand
[vba]
Код
(Таблица as table,НомСтолб as number, Разделитель as text) as table =>
let
    Столбец = List.Range(Table.ColumnNames(Таблица),НомСтолб,1){0},
    fn = Splitter.SplitTextByDelimiter(Разделитель, QuoteStyle.None),
    Разделить = Table.TransformColumns(Таблица,{Столбец, fn}),
    Результат = Table.ExpandListColumn(Разделить,Столбец)
in
    Результат
[/vba]
Использование в запросе
[vba]
Код
let
    Источник = SplitAndExpand(Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],1,",")
in
    Источник
[/vba]

Автор - krosav4ig
Дата добавления - 08.10.2016 в 00:36
krosav4ig Дата: Суббота, 08.10.2016, 04:36 | Сообщение № 1242 | Тема: МИН и МАКС в текстовом формате
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
почему не получается

потому, что даты
в текстовом формате

нужно привести в числовой формат Ctrl+H, в полях Найти и Заменить на написать . (точку), Заменить все


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

Сообщение отредактировал krosav4ig - Суббота, 08.10.2016, 04:37
 
Ответить
Сообщение
почему не получается

потому, что даты
в текстовом формате

нужно привести в числовой формат Ctrl+H, в полях Найти и Заменить на написать . (точку), Заменить все

Автор - krosav4ig
Дата добавления - 08.10.2016 в 04:36
krosav4ig Дата: Вторник, 11.10.2016, 17:54 | Сообщение № 1243 | Тема: Распарсить данные ячейки таблицы
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Нужно что бы получился такой результат

AngelOfLegend, ну дык если в ваш последний файл перенести UDF и запрос из файла отсюда и отформатировать исходные данные умной таблицей с заголовками (у нее должно быть название Таблица1), то на выходе получится именно такой результат
К сообщению приложен файл: 2162194.xlsm (26.6 Kb)


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

Сообщение отредактировал krosav4ig - Вторник, 11.10.2016, 22:23
 
Ответить
Сообщение
Нужно что бы получился такой результат

AngelOfLegend, ну дык если в ваш последний файл перенести UDF и запрос из файла отсюда и отформатировать исходные данные умной таблицей с заголовками (у нее должно быть название Таблица1), то на выходе получится именно такой результат

Автор - krosav4ig
Дата добавления - 11.10.2016 в 17:54
krosav4ig Дата: Четверг, 13.10.2016, 16:34 | Сообщение № 1244 | Тема: Удалить дубликаты затронув соседние столбцы
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Выделить свои столбцы (A1:C8), Данные>Работа с данными>Удалить дубликаты, поставить галку "Мои данные содержат заголовки", тык по кнопке Снять выделение, поставить галку Столбец1, ОК


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеВыделить свои столбцы (A1:C8), Данные>Работа с данными>Удалить дубликаты, поставить галку "Мои данные содержат заголовки", тык по кнопке Снять выделение, поставить галку Столбец1, ОК

Автор - krosav4ig
Дата добавления - 13.10.2016 в 16:34
krosav4ig Дата: Пятница, 14.10.2016, 18:10 | Сообщение № 1245 | Тема: "ложь" при сравнении дат
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
почему в ячейке AD2 ЛОЖЬ?

потому, что конструкция типа
Код
a<b<c
в excel при b>a при любом значении с всегда возвращает ложь, ибо при вычислении получается
Код
ИСТИНА<c

Код
=AE3<=(W2<=AE4)

и опять неправильно
Код
=9^9<(1=1)
тоже возвращает ИСТИНА
вот так должно быть
Код
=И(AE3<=W2;W2<=AE4)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
почему в ячейке AD2 ЛОЖЬ?

потому, что конструкция типа
Код
a<b<c
в excel при b>a при любом значении с всегда возвращает ложь, ибо при вычислении получается
Код
ИСТИНА<c

Код
=AE3<=(W2<=AE4)

и опять неправильно
Код
=9^9<(1=1)
тоже возвращает ИСТИНА
вот так должно быть
Код
=И(AE3<=W2;W2<=AE4)

Автор - krosav4ig
Дата добавления - 14.10.2016 в 18:10
krosav4ig Дата: Воскресенье, 16.10.2016, 13:49 | Сообщение № 1246 | Тема: Сумма, если, впр - как суммировать по условию с поиском
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
еще вариант
Код
=СУММПРОИЗВ(($A3&ТЕКСТ(B$2;"МГ")=заказы!$C$2:$C$30&ТЕКСТ(Ч(СМЕЩ(заказы!$A$1;ПРОСМОТР(СТРОКА(заказы!$A$2:$A$30);СТРОКА(заказы!$A$2:$A$30)/заказы!$A$2:$A$30^0)-1;));"МГ"))*заказы!$D$2:$D$30)
К сообщению приложен файл: 7773850.xlsx (13.2 Kb)


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

Сообщение отредактировал krosav4ig - Воскресенье, 16.10.2016, 13:50
 
Ответить
Сообщениееще вариант
Код
=СУММПРОИЗВ(($A3&ТЕКСТ(B$2;"МГ")=заказы!$C$2:$C$30&ТЕКСТ(Ч(СМЕЩ(заказы!$A$1;ПРОСМОТР(СТРОКА(заказы!$A$2:$A$30);СТРОКА(заказы!$A$2:$A$30)/заказы!$A$2:$A$30^0)-1;));"МГ"))*заказы!$D$2:$D$30)

Автор - krosav4ig
Дата добавления - 16.10.2016 в 13:49
krosav4ig Дата: Воскресенье, 16.10.2016, 17:25 | Сообщение № 1247 | Тема: Извлечение отрицательного значения из текста
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
здравствуйте
как-то так
Код
=--ПРАВБ(ПОДСТАВИТЬ(A1;" ";ПОВТОР(" ";255));255)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениездравствуйте
как-то так
Код
=--ПРАВБ(ПОДСТАВИТЬ(A1;" ";ПОВТОР(" ";255));255)

Автор - krosav4ig
Дата добавления - 16.10.2016 в 17:25
krosav4ig Дата: Воскресенье, 16.10.2016, 22:58 | Сообщение № 1248 | Тема: Шрифт штрих-кода
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Добрый вечер.
Тута шрифты code128 (перерисованные из IDAutomation)+макрос гля генерации абракадабры для этих шрифтов выкладывал


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеДобрый вечер.
Тута шрифты code128 (перерисованные из IDAutomation)+макрос гля генерации абракадабры для этих шрифтов выкладывал

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

Excel 2007,2010,2013
Здравствуйте.
Доп. столбец + куча формул (в диспетчере имен)
К сообщению приложен файл: 6211840.xlsx (21.8 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеЗдравствуйте.
Доп. столбец + куча формул (в диспетчере имен)

Автор - krosav4ig
Дата добавления - 17.10.2016 в 18:07
krosav4ig Дата: Вторник, 18.10.2016, 13:01 | Сообщение № 1250 | Тема: Перевод формулы из OpenOffice в Exel
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
вместо
Код
$'Форма ввода'.$C$3
в excel должно быть
Код
'Форма ввода'!$C$3


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениевместо
Код
$'Форма ввода'.$C$3
в excel должно быть
Код
'Форма ввода'!$C$3

Автор - krosav4ig
Дата добавления - 18.10.2016 в 13:01
krosav4ig Дата: Среда, 19.10.2016, 23:49 | Сообщение № 1251 | Тема: Сравнение данных столба и вывод
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте
Код
=ВПР(C3;C5:D15;2;)


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

Сообщение отредактировал krosav4ig - Среда, 19.10.2016, 23:52
 
Ответить
СообщениеЗдравствуйте
Код
=ВПР(C3;C5:D15;2;)

Автор - krosav4ig
Дата добавления - 19.10.2016 в 23:49
krosav4ig Дата: Четверг, 20.10.2016, 04:00 | Сообщение № 1252 | Тема: Макрос для обновления ячеек
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
В файле, де нужно отключить автообновление
Данные>Подключения>Изменить связи>Запрос на обновление связей>Не задавать вопрос и не обновлять


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеВ файле, де нужно отключить автообновление
Данные>Подключения>Изменить связи>Запрос на обновление связей>Не задавать вопрос и не обновлять

Автор - krosav4ig
Дата добавления - 20.10.2016 в 04:00
krosav4ig Дата: Четверг, 20.10.2016, 04:04 | Сообщение № 1253 | Тема: Подстановка с 3-х листов на 4-ый с удалением дубликатов
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Можно как-то так [vba]
Код
Sub Upd_Claims()
    'ActiveWorkbook.RefreshAll
    Dim objConnection As Object
    Dim rs As Object
    Dim arr$(3)
    arr(1) = "VGR$" & [Таблица_ClaimsOtherTotal.accdb[[#All],[Дата создания]]].Address(0, 0)
    arr(2) = "CLAIMS CHECK$" & [Таблица_ClaimsTotal.accdb[[#All],[Дата создания]]].Address(0, 0)
    arr(3) = "LETTERS CHECK$" & [Таблица_Letters_Total.accdb[[#All],[ДатаПретензииПоПисьму]]].Address(0, 0)
    Set objConnection = CreateObject("ADODB.Connection")
    Set rs = CreateObject("ADODB.Recordset")
    objConnection.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & _
    ActiveWorkbook.FullName & ";" & "Extended Properties=""Excel 12.0;HDR=Yes"";"
    sqlStr1 = "Select DISTINCT * from (" & Mid(Join(arr, "] union all SELECT * from ["), 13) & "])"
    rs.Open sqlStr1, objConnection, 3, 3
    [Таблица2].ListObject.HeaderRowRange(2, 1).CopyFromRecordset rs
    Set rs = Nothing
    Set objConnection = Nothing
    Sheets("STATISTICS").Select
End Sub
[/vba]


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

Сообщение отредактировал krosav4ig - Четверг, 20.10.2016, 04:30
 
Ответить
СообщениеМожно как-то так [vba]
Код
Sub Upd_Claims()
    'ActiveWorkbook.RefreshAll
    Dim objConnection As Object
    Dim rs As Object
    Dim arr$(3)
    arr(1) = "VGR$" & [Таблица_ClaimsOtherTotal.accdb[[#All],[Дата создания]]].Address(0, 0)
    arr(2) = "CLAIMS CHECK$" & [Таблица_ClaimsTotal.accdb[[#All],[Дата создания]]].Address(0, 0)
    arr(3) = "LETTERS CHECK$" & [Таблица_Letters_Total.accdb[[#All],[ДатаПретензииПоПисьму]]].Address(0, 0)
    Set objConnection = CreateObject("ADODB.Connection")
    Set rs = CreateObject("ADODB.Recordset")
    objConnection.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & _
    ActiveWorkbook.FullName & ";" & "Extended Properties=""Excel 12.0;HDR=Yes"";"
    sqlStr1 = "Select DISTINCT * from (" & Mid(Join(arr, "] union all SELECT * from ["), 13) & "])"
    rs.Open sqlStr1, objConnection, 3, 3
    [Таблица2].ListObject.HeaderRowRange(2, 1).CopyFromRecordset rs
    Set rs = Nothing
    Set objConnection = Nothing
    Sheets("STATISTICS").Select
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 20.10.2016 в 04:04
krosav4ig Дата: Воскресенье, 23.10.2016, 16:19 | Сообщение № 1254 | Тема: Заполнение ячеек по соответствию даты
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
можно сводной
создал именованный диапазон tbl (График!$D$6:$AU$14), по ней построил консолидированную сводную (через мастер сводных таблиц и диаграмм)
К сообщению приложен файл: 3137133.xlsm (32.5 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеможно сводной
создал именованный диапазон tbl (График!$D$6:$AU$14), по ней построил консолидированную сводную (через мастер сводных таблиц и диаграмм)

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

Excel 2007,2010,2013
Мдя... Это в какой же "умной" книжке вы такое задание нашли?
Задание само по себе, может и нормальное, тока сформулировано .....
решаетя одной формулой, содержащей 1 цифру и 3 функции
выделяем A1:H8, в строку формул пишем
Код
=2^ABS(СТОЛБЕЦ()-СТРОКА())
и жмем Ctrl+Enter


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеМдя... Это в какой же "умной" книжке вы такое задание нашли?
Задание само по себе, может и нормальное, тока сформулировано .....
решаетя одной формулой, содержащей 1 цифру и 3 функции
выделяем A1:H8, в строку формул пишем
Код
=2^ABS(СТОЛБЕЦ()-СТРОКА())
и жмем Ctrl+Enter

Автор - krosav4ig
Дата добавления - 23.10.2016 в 23:53
krosav4ig Дата: Понедельник, 24.10.2016, 00:02 | Сообщение № 1256 | Тема: Отобразить таблицу с первой ячейки
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте
Так нужно?[vba]
Код
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    If Sh.Name <> "Лист1" Then
        Application.ScreenUpdating = False
        Select Case Sheets("Лист1").[a2]
            Case 1
                Columns("a:k").Hidden = False
                Columns("l:aa").Hidden = True
                Columns("ab:ak").Hidden = True
            Case 2
                Columns("a:k").Hidden = True
                Columns("l:aa").Hidden = False
                Columns("ab:ak").Hidden = True
            Case 3
                Columns("a:k").Hidden = True
                Columns("l:aa").Hidden = True
                Columns("ab:ak").Hidden = False
            Case Else
                Columns("a:k").Hidden = False
                Columns("l:aa").Hidden = False
                Columns("ab:ak").Hidden = False
        End Select
        Application.Goto Cells.SpecialCells(12).Areas(1).Cells(1, 1), 1
        Application.ScreenUpdating = True
    End If
End Sub
[/vba]


UPD Фигню спорол, исправил
К сообщению приложен файл: Tab1.xls (40.0 Kb)


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

Сообщение отредактировал krosav4ig - Понедельник, 24.10.2016, 00:16
 
Ответить
СообщениеЗдравствуйте
Так нужно?[vba]
Код
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    If Sh.Name <> "Лист1" Then
        Application.ScreenUpdating = False
        Select Case Sheets("Лист1").[a2]
            Case 1
                Columns("a:k").Hidden = False
                Columns("l:aa").Hidden = True
                Columns("ab:ak").Hidden = True
            Case 2
                Columns("a:k").Hidden = True
                Columns("l:aa").Hidden = False
                Columns("ab:ak").Hidden = True
            Case 3
                Columns("a:k").Hidden = True
                Columns("l:aa").Hidden = True
                Columns("ab:ak").Hidden = False
            Case Else
                Columns("a:k").Hidden = False
                Columns("l:aa").Hidden = False
                Columns("ab:ak").Hidden = False
        End Select
        Application.Goto Cells.SpecialCells(12).Areas(1).Cells(1, 1), 1
        Application.ScreenUpdating = True
    End If
End Sub
[/vba]


UPD Фигню спорол, исправил

Автор - krosav4ig
Дата добавления - 24.10.2016 в 00:02
krosav4ig Дата: Вторник, 25.10.2016, 18:17 | Сообщение № 1257 | Тема: правильное копирование функции UDF в книгу макросов
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
побочный эффект

он легко лечится
и, кстати, не обязательно сохранять как надстройку, достаточно установить свойство IsAddin при открытии PERSONAL.XLSB
в стандартный модуль личной книги макросов
[vba]
Код
Sub Auto_Open()
    ThisWorkbook.IsAddin = True
    Application.OnKey "%{F8}", "ShowMacro"
End Sub
Sub ShowMacro()
    Dim wb As Workbook
    Set wb = ActiveWorkbook
    Application.ScreenUpdating = False
    With ThisWorkbook
        .IsAddin = False
        wb.Activate
        Application.CommandBars.ExecuteMso "PlayMacro"
        DoEvents
        .IsAddin = True
    End With
    Application.ScreenUpdating = True
End Sub
[/vba]и вместо тыканья по ленте жать Alt+F8


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

Сообщение отредактировал krosav4ig - Вторник, 25.10.2016, 18:23
 
Ответить
Сообщение
побочный эффект

он легко лечится
и, кстати, не обязательно сохранять как надстройку, достаточно установить свойство IsAddin при открытии PERSONAL.XLSB
в стандартный модуль личной книги макросов
[vba]
Код
Sub Auto_Open()
    ThisWorkbook.IsAddin = True
    Application.OnKey "%{F8}", "ShowMacro"
End Sub
Sub ShowMacro()
    Dim wb As Workbook
    Set wb = ActiveWorkbook
    Application.ScreenUpdating = False
    With ThisWorkbook
        .IsAddin = False
        wb.Activate
        Application.CommandBars.ExecuteMso "PlayMacro"
        DoEvents
        .IsAddin = True
    End With
    Application.ScreenUpdating = True
End Sub
[/vba]и вместо тыканья по ленте жать Alt+F8

Автор - krosav4ig
Дата добавления - 25.10.2016 в 18:17
krosav4ig Дата: Среда, 26.10.2016, 15:36 | Сообщение № 1258 | Тема: правильное копирование функции UDF в книгу макросов
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
и чем это проще?

А я и не говорил, что это проще :)
написали, что не отображаются макросы
при нажатии на кнопку "Макросы" на ленте
и я написал костыль для обхода этой проблемы
а если книга ужо была сохранена как надстройка, то можно убрать строку [vba]
Код
ThisWorkbook.IsAddin = True
[/vba]


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

Сообщение отредактировал krosav4ig - Среда, 26.10.2016, 15:36
 
Ответить
Сообщение
и чем это проще?

А я и не говорил, что это проще :)
написали, что не отображаются макросы
при нажатии на кнопку "Макросы" на ленте
и я написал костыль для обхода этой проблемы
а если книга ужо была сохранена как надстройка, то можно убрать строку [vba]
Код
ThisWorkbook.IsAddin = True
[/vba]

Автор - krosav4ig
Дата добавления - 26.10.2016 в 15:36
krosav4ig Дата: Четверг, 27.10.2016, 17:43 | Сообщение № 1259 | Тема: Удаление содержимого яч и умножение на число из содержимого
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
до кучи [vba]
Код
Sub dd()
    Dim arr As Variant, arr1 As Variant, i&, s$
    With [A1].CurrentRegion
        With Intersect(.Columns("D").Offset(3), .EntireRow)
            arr = .Value: arr1 = .Offset(, 1).Value
            With CreateObject("vbscript.regexp")
                .Pattern = "([0-99]+)?(\s?\S+).*"
                For i = 1 To UBound(arr)
                    s = "trim(""$2 ""& " & arr1(i, 1) & "*text(0$1,""0;;1""))"
                    arr(i, 1) = Evaluate(.Replace(arr(i, 1), s))
                Next
            End With
            Application.ScreenUpdating = False: Application.DisplayAlerts = False
            .Value = arr: .TextToColumns .Cells(1), 1, , , , , , 1
            Application.DisplayAlerts = True: Application.ScreenUpdating = True
        End With
    End With
End Sub
[/vba]
К сообщению приложен файл: 8633877.xlsm (20.7 Kb)


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

Сообщение отредактировал krosav4ig - Четверг, 27.10.2016, 17:48
 
Ответить
Сообщениедо кучи [vba]
Код
Sub dd()
    Dim arr As Variant, arr1 As Variant, i&, s$
    With [A1].CurrentRegion
        With Intersect(.Columns("D").Offset(3), .EntireRow)
            arr = .Value: arr1 = .Offset(, 1).Value
            With CreateObject("vbscript.regexp")
                .Pattern = "([0-99]+)?(\s?\S+).*"
                For i = 1 To UBound(arr)
                    s = "trim(""$2 ""& " & arr1(i, 1) & "*text(0$1,""0;;1""))"
                    arr(i, 1) = Evaluate(.Replace(arr(i, 1), s))
                Next
            End With
            Application.ScreenUpdating = False: Application.DisplayAlerts = False
            .Value = arr: .TextToColumns .Cells(1), 1, , , , , , 1
            Application.DisplayAlerts = True: Application.ScreenUpdating = True
        End With
    End With
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 27.10.2016 в 17:43
krosav4ig Дата: Пятница, 28.10.2016, 07:36 | Сообщение № 1260 | Тема: Расчет дат и времени окончания работ
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Решение монстроформулой "в лоб"
Код
=РАБДЕНЬ(B4;ОКРУГЛВВЕРХ((D4-K$3+C4+(C4<J$6)*(K$6-J$6))/K$3-J$3+J$6-K$6;0)*(D4>K$3-J$3+J$6-K$6);$G$3:$G$20)+J$3+ОСТАТ(D4-K$3+C4+(C4<J$6)*(K$6-J$6);K$3-J$3+J$6-K$6)+(K$3-C4-(C4<J$6)*(K$6-J$6))*(D4-K$3+C4+(C4<J$6)*(K$6-J$6)=0)+((J$3+ОСТАТ(D4-K$3+C4+(C4<J$6)*(K$6-J$6);K$3-J$3+J$6-K$6))>J$6)*(K$6-J$6)
К сообщению приложен файл: 6900936-1.xls (33.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеРешение монстроформулой "в лоб"
Код
=РАБДЕНЬ(B4;ОКРУГЛВВЕРХ((D4-K$3+C4+(C4<J$6)*(K$6-J$6))/K$3-J$3+J$6-K$6;0)*(D4>K$3-J$3+J$6-K$6);$G$3:$G$20)+J$3+ОСТАТ(D4-K$3+C4+(C4<J$6)*(K$6-J$6);K$3-J$3+J$6-K$6)+(K$3-C4-(C4<J$6)*(K$6-J$6))*(D4-K$3+C4+(C4<J$6)*(K$6-J$6)=0)+((J$3+ОСТАТ(D4-K$3+C4+(C4<J$6)*(K$6-J$6);K$3-J$3+J$6-K$6))>J$6)*(K$6-J$6)

Автор - krosav4ig
Дата добавления - 28.10.2016 в 07:36
Поиск:

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