Просмотр полной версии : MS Excel - решение практических задач
В этой теме размещаем вопросы и ответы, а также советы и рекомендации по решению конкретных задач, которые требуют создания формулы, применения макроса, написания кода VBA, т.е. Практикум.
------------------------------
Вопросы и ответы, а также советы и рекомендации по настройке MS Excel, ошибки в работе программы, решение задач по импорту/экспорту документов, ссылки и обсуждение надстроек для Excel, обучающие материалы и т.п. размещаем в теме MS Excel - настройка, импорт/экспорт (http://www.nowa.cc/showthread.php?t=367724).
Если решение задачи не требует применения формул и макросов (VBA), то это обсуждение будет перенесено в тему по настройкам.
Все пожелания по принципам размещения сообщений по этим темам рассматриваются - пишите в личку Andrey_k (http://www.nowa.cc/private.php?do=newpm&u=466883).
Nija: Кто знает, как создать формулу в Excel? У меня есть база данных из 2 колонок (1 и 2). И есть колонка (3), где есть данные 1, рядом с которой надо поставить данные из колонки 2... Как формулу написать? Помогите, плиз! :7:
Во-первых, я не понял, что должна делать формула. Объясни поточнее. А во-вторых, зачем тебе дважды писать одно и то же? :7:
Пишите пожалуйста более внятно, что вам нужно.Пока могу только сказать, что нажатие кнопи F1 в Excel может помочь решению Вашей проблемы. :1:
Попробуй функцию "сцепить" посмотреть
а просто
нажать = (равно) и потом кликнуть в столбец 1 на первой строке, а потом растянуть это вниз
не пробовал?
AlexTheBest
22.05.2005, 14:11
Отображаем в 3-й колонке сцепленные текстовые данные из 1й и 2й колонок: Допустим для строка 1, колонка А, колонка В и результирующая колонка С-
в ячейке С1 пишем формулу =a1&b1
Тоже самое, но с пробелом между данными =a1&" " &b1
А так, вопрос действительно некорректно поставлен
есть файл, там безумное количество позиций, большинство из которых продублировано, нужно строчки-дубликаты удалить.......
подозреваю, что есть такая функция, но я её не знаю......
вручную уходит 5 часов........
Abra Cadabra
23.08.2005, 00:53
excel не юзаю, но в word_e использовал "заменить" на пробел
данные\фильтр\автофильтр ---> над каждым столбцом появляется стрелочка...
нажимаешь и видишь все данные в столбце (они все разные), затем выбираешь что-то одно и у тебя выскакивают все одинаковые строки, соответственно удаляешь их все кроме одной, и дальше в том же порядке. одно но, нужно руководствоваться столбцами, а лучше даже одним, в которых больше инфы по строке, чтобы не было случайных совпадений. более короткого пути мне неизвестно...
да, это почти тоже, что делал я, на это уходит уйма времени......
ведь наверняка есть макрос какой-нибудь........
дело в следующем, в таблице с данными прога (по формуле) считает сколько было букв А, сколько В и т.п. Всё считается, сумма пишется, но если например букв А вообще не было, то в графе -сумма букв А- будет стоять ноль, а надо чтобы был другой символ (например прочерк _). Можно ли так сдалать?
В Excele есть логические функции, типо если больше 0 то показывать сумму, если равно 0 тогда что-то другое. В справке описаны параметры этих функций. :super:
=ЕСЛИ(СУММ(твоя формула)=0;"твой знак";СУММ(твоя формула))
А что, если просто выделить ключевые колонки и отсортировать по ним содержимое? Тогда после можно будет их разом выделить областью и удалить. Не уверен, что это будет быстрее, чем в советах выше. Если бы видел сам файл или знал, какого плана там данные (текст, числа, даты), может появилась бы другая идея.
ZORROSHOES
03.01.2006, 19:03
Вот еще один вариант:
Если данные в столбце A(a1:a500)
То в ячейке B1 пишешь формулу
СЧЁТЕСЛИ($A1:$A$500;$A1:$A$500)
и копируешь ее вниз до B500.
Столбец B показывает сколько раз повторяется то или иное значение в столбце A...Ну и удаляешь строки где >1
p.s СВОДНАЯ ТАБЛИЦА УДОБНЕЕ
У меня тогда вопрос по экселю
Мне нужно создать таблицу с именами, при чем чтоб при вводе в первой строке первой буквы имени, я получал нужного человека.
Вообщем как в аксесе.
НЕ знаю если вожможно такое.
Кто знает подскажите
У меня тогда вопрос по экселю
Мне нужно создать таблицу с именами, при чем чтоб при вводе в первой строке первой буквы имени, я получал нужного человека.
Вообщем как в аксесе.
НЕ знаю если вожможно такое.
Кто знает подскажите
Возможно, сейчас для Вас это уже не актуально, но есть такой вариант в Excel, как обработка списков с помощью формы данных. Активизируем любую ячейку списка, открываем меню Данные/Форма. При помощи кнопки Критерий выполняется поиск записей, можно применять символы подстановки (* ?). Вот таким образом мы можем найти нужного человека по первой букве (или по последней, или как Вам угодно).
Dr.leXus
22.10.2006, 09:43
Всем привет!
Кто поможет с Excel. Имеем кучу строк, в каждой строке в последнем столбце имеем пременную времени. Там указано колличество минут и секунд. Как получить в последней строке общую сумму по времене.
Расскажите поподробнее, с помощью какой функции и как по-этапно это сделать. Заранее всем большое спасибо!
DownloadMAST
22.10.2006, 11:33
Мой совет тебе поможет, если формат ячейки, в которой стоит количество минути секунд, будет **:**:**
То есть если, например, 18 минут 42 секунды, то они должны быть записаны в ячейке как:
00:18:42
Если ты сможешь так организовать эти ячейки, тогда чтобы получить общее время надо будет просто сделать автосумму: встаешь в любой ячейке, нажимаешь "Автосумма", затем выбираешь дипозон ячеек, сумму по времени которых тебе необходимо получить и жмешь Enter.
Все должно работать. Сам щас попробовал и у меня получилась сумма по времени.
Если формат записи минут и секунд другой, например через запятую, то можно так. Выделить целую часть в минутах, получить дробную в секундах. Работать с секундами, а итог уже переводить в минут и секунды.
Можно воспользоваться в меню:
Вставка-функция
Категория- математическая
и выбрать функцию - ниже дано описание этой функции, т.е. то что она делает
Функцию ГПР посмотри
Может ВПР??
Есть 2 таблицы exel:
1-ая, прайс фирмы, например компьютерной
2-ая, список моделей, для которых надо выписать цены из прайса
Можно ли сделать, что бы эти 2 таблицы автоматически сравнились и в прайсе (1-ая) бы пометились (например, шрифт модели стал бы красным цветом) модели, которые представлены в списке (2-ой)?
Посмотри excel функцию ВПР
Ищет значение в крайнем левом столбце таблицы и возвращает значение в той же строке из указанного столбца таблицы. Функция ВПР используется вместо функции ГПР, когда сравниваемые значения расположены в столбце слева от искомых данных.
Буква «В» в имени функции ВПР означает «вертикальный».
Синтаксис
ВПР(искомое_значение;таблица ;номер_столбца ;интервальный_просмотр)
Искомое_значение — это значение, которое должно быть найдено в первом столбце массива . Искомое_значение может быть значением, ссылкой или текстовой строкой.
Таблица — таблица с информацией, в которой ищутся данные. Можно использовать ссылку на интервал или имя интервала, например БазаДанных или Список.
Ответ: формулу создать в экселе помоему невозможно, они существуют и их надо знать, если интересует тебя данная информация могу дать все форумулы какие есть в ПМ
Для сравнения прайсов нужно чтобы наименования совпадали на 100% если скинишь мне на почту посмотрю что можно сделать, но кажется там будет оченб сложная формула.
Как создать в excel рекурсивную функцию, ссылающуюся саму на себя - задача подсчет в ячейке суммы нарастающим итогом
а1=а1+а2.
NEUROMOTOR
22.08.2007, 11:57
Внимательно посмотри на параметры: Сервис\параметры\общие\параметры веб документа... думаю найдешь ответ
Можно поподробней. Сервис\параметры\общие\параметры веб документа посмотрел, но ничего, что могло навести меня на ответ там не обнаружил. Мне тут знакомый говорил что без макроса, или как там его, здесь не обойтись. А я VBA вообще ни разу в глаза не видел...Вот как тут быть?
Добавлено через 38 минут
Все. Разобрался. Никакой макрос там не нужен. Там в Сервис\Параметры\Вычисления нужно было поставить галочку итерации и количество 1 поставить.
Добавлено через 47 минут
А никто не знает как то же самое в OpenOffice Calc сделать? Че то тоже самое там не работает...
Здравствуйте! Помогите пожалуйста разобраться с электронной таблицей. Суть задачи такова: Допустим создаю свою базу сотовых номеров. Каждый номер пишеться в одном столбце, но в своей ячейке (А1, А2....и т.д.). Как мне сделать так, чтобы если номер (значение) повторяется в данном столбце, то программа сообщала мне об ошибке или выделяла другим цветом. Раньше я неплохо разбирался в составлении формул, но это 5 лет прошло (студенческие годы). Сейчас не помню. Помогите, кто знает как это сделать, пожалуйста!
Ответ: формулу создать в экселе помоему невозможно, они существуют и их надо знать, если интересует тебя данная информация могу дать все форумулы какие есть в ПМ
Возможно – есть пользовательские функции – они пишутся в VBA. Меня не раз выручали. Посмотри в справке пользовательские функции.
Добавлено через 6 минут
Как создать в excel рекурсивную функцию, ссылающуюся саму на себя - задача подсчет в ячейке суммы нарастающим итогом
а1=а1+а2.
Если использовать сводную таблицу там есть сумма нарастающим итогом. Если не подходит добавь еще один столбец «B» например и напиши формулу в ячейке «B2» =СУММ($A$1:A2), скопируй ее в остальные ячейки внизу (или так сказать растяни)
Добавлено через 15 минут
Здравствуйте! Помогите пожалуйста разобраться с электронной таблицей. Суть задачи такова: Допустим создаю свою базу сотовых номеров. Каждый номер пишеться в одном столбце, но в своей ячейке (А1, А2....и т.д.). Как мне сделать так, чтобы если номер (значение) повторяется в данном столбце, то программа сообщала мне об ошибке или выделяла другим цветом. Раньше я неплохо разбирался в составлении формул, но это 5 лет прошло (студенческие годы). Сейчас не помню. Помогите, кто знает как это сделать, пожалуйста!
Добавь еще один контрольный столбец «B» и напиши формулу в ячейке «B2» =ЕСЛИ(ЕНД(ПОИСКПОЗ(A2;A$1:A1;0));"Значение уникально";"Значение уже есть"), скопируй ее в остальные ячейки внизу (или так сказать растяни). Потом можем воспользоваться условным форматированием.
volontoyr
28.09.2007, 14:10
Люди, помогите пожалуйста. Как в экселе сделать чтоб набираемые цифры (сумма)в ячейки отображались прописью?
пример:
1237,00
отображалась бы
Одна тысяча двести тридцать семь рублей 00 копеек
А то которая функция имеется, то она доступна на малазийском языке или на кокам-то таком.
Иож у кого есть скрипт какой-нить, а то каждый раз прописывать большие суммы надоедает.
В таблице разнотипные данные, текст (русский и англиЦкий), цыферы и всяческие символы (<, “, ; и т.д.). Формат всех ячеек текстовый. Сохраняю в текстовый документ - ‘Сохранить как’ если текст Юникод - русский читабельный, но расставляет кучи кавычек по непонятному принципу, если форматированный текст (разделители пробелы) в итоге вместо русского иероглифы, но нет кавычек.
Макросом также
Sub TXT()
ActiveWorkbook.SaveAs Filename:="C:\txt.txt", FileFormat:= _
xlUnicodeText, CreateBackup:=False
End Sub
НО! Есть параметр TextCodepage (по ходу не работает).
Помогите избавиться от кавычек и сохранить русскую кодировку.
З.Ы.
"Спасибо модератору"... Теперь я точно от кавычек не избавлюсь 8(
Кто знает как в екселе к ячейке привязать отбор из другой ячейки при выполнении условия
kosLLL, то есть отбор? чтобы данные подставлялись?
тогда =ЕСЛИ(<условие>;<имя ячейки, из которой беруться данные>;<значение при невыполнениии условия>)
Например =ЕСЛИ(A1>1;A2;B1). Или это не то, что вам надо?
В таблице разнотипные данные, текст (русский и англиЦкий), цыферы и всяческие символы (<, “, ; и т.д.). Формат всех ячеек текстовый. Сохраняю в текстовый документ - ‘Сохранить как’ если текст Юникод - русский читабельный, но расставляет кучи кавычек по непонятному принципу, если форматированный текст (разделители пробелы) в итоге вместо русского иероглифы, но нет кавычек.
Макросом также
Sub TXT()
ActiveWorkbook.SaveAs Filename:="C:\txt.txt", FileFormat:= _
xlUnicodeText, CreateBackup:=False
End Sub
НО! Есть параметр TextCodepage (по ходу не работает).
Помогите избавиться от кавычек и сохранить русскую кодировку.
З.Ы.
"Спасибо модератору"... Теперь я точно от кавычек не избавлюсь 8(
Не понятна причина сохранения... Если скажешь может другие пути - более удобные подскажам
Но сохраняя в текст, ексель как раз пользуется запятыми для разделения данных. Поэтому или уточняй задачу или пиши макрос сохранения в текстовый файл, где идет перебор диапазона ячеек, вытаскивание значения каждой ячейки и добавление значения в строку и запись всех строк в текстовый файл. А тот макрос что ты привел он просто делает теже действия что и ты через меню - только нажатием одной кнопки - так что иного результата зря ожидаешь...
roland76
27.10.2007, 14:23
Не понятна причина сохранения... Если скажешь может другие пути - более удобные подскажам
Но сохраняя в текст, ексель как раз пользуется запятыми для разделения данных. Поэтому или уточняй задачу или пиши макрос сохранения в текстовый файл, где идет перебор диапазона ячеек, вытаскивание значения каждой ячейки и добавление значения в строку и запись всех строк в текстовый файл. А тот макрос что ты привел он просто делает теже действия что и ты через меню - только нажатием одной кнопки - так что иного результата зря ожидаешь...
Вот тебе макрос, который сохраняет sheet в csv файл. Откорректировав его, думаю с легкостью решишь свою задачу.
Sub SaveAsCSV()
Dim ws As Worksheet
Dim fname As String
Dim fs
Dim WholeLine As String
Dim FNum As Integer
Dim RowNdx As Long
Dim ColNdx As Integer
Dim StartRow As Long
Dim EndRow As Long
Dim StartCol As Integer
Dim EndCol As Integer
Dim CellValue As String
Dim Sep As String
Application.ScreenUpdating = False
'On Error GoTo EndMacro:
Set ws = ActiveSheet
FNum = FreeFile
Sep = ";"
fname = "C:\temp\cat.csv"
'Determine if the same CSV file aready exists 'If it does, DELETE it and create a new one from 'scratch Set fs = CreateObject("Scripting.FileSystemObject")
'If fs.FileExists(fname) Then
'Kill fname
'End If
If FileExists(fname) Then
Set fs = CreateObject("Scripting.FileSystemObject")
fs.DeleteFile (fname)
End If
ws.Range(Cells(1, 1), Cells(LastRow(ws), LastCol(ws))).Select
With Selection
StartRow = .Cells(1).Row
StartCol = .Cells(1).Column
EndRow = .Cells(.Cells.Count).Row
EndCol = .Cells(.Cells.Count).Column
End With
Open fname For Output Access Write As #FNum
For RowNdx = StartRow To EndRow
WholeLine = ""
For ColNdx = StartCol To EndCol
If Cells(RowNdx, ColNdx).Value = "" Then
CellValue = ""
Else
CellValue = (Cells(RowNdx, ColNdx).Value)
'Application.WorksheetFunction.Text _
'(Cells(RowNdx, ColNdx).Value, _
'Cells(RowNdx, ColNdx).NumberFormat)
End If
WholeLine = WholeLine & CellValue & Sep
Next ColNdx
WholeLine = Left(WholeLine, Len(WholeLine) - Len(Sep))
Print #FNum, WholeLine
Next RowNdx
EndMacro:
'On Error GoTo 0
Application.ScreenUpdating = True
Close #FNum
Range("A1").Select
End Sub
Добавлено через 1 минуту
Не понятна причина сохранения... Если скажешь может другие пути - более удобные подскажам
Но сохраняя в текст, ексель как раз пользуется запятыми для разделения данных. Поэтому или уточняй задачу или пиши макрос сохранения в текстовый файл, где идет перебор диапазона ячеек, вытаскивание значения каждой ячейки и добавление значения в строку и запись всех строк в текстовый файл. А тот макрос что ты привел он просто делает теже действия что и ты через меню - только нажатием одной кнопки - так что иного результата зря ожидаешь...
Вот тебе макрос, который сохраняет sheet в csv файл.
Откорректировав его, думаю с легкостью решишь свою задачу.
Sub SaveAsCSV()
Dim ws As Worksheet
Dim fname As String
Dim fs
Dim WholeLine As String
Dim FNum As Integer
Dim RowNdx As Long
Dim ColNdx As Integer
Dim StartRow As Long
Dim EndRow As Long
Dim StartCol As Integer
Dim EndCol As Integer
Dim CellValue As String
Dim Sep As String
Application.ScreenUpdating = False
'On Error GoTo EndMacro:
Set ws = ActiveSheet
FNum = FreeFile
Sep = ";"
fname = "C:\temp\cat.csv"
'Determine if the same CSV file aready exists 'If it does, DELETE it and create a new one from 'scratch Set fs = CreateObject("Scripting.FileSystemObject")
'If fs.FileExists(fname) Then
'Kill fname
'End If
If FileExists(fname) Then
Set fs = CreateObject("Scripting.FileSystemObject")
fs.DeleteFile (fname)
End If
ws.Range(Cells(1, 1), Cells(LastRow(ws), LastCol(ws))).Select
With Selection
StartRow = .Cells(1).Row
StartCol = .Cells(1).Column
EndRow = .Cells(.Cells.Count).Row
EndCol = .Cells(.Cells.Count).Column
End With
Open fname For Output Access Write As #FNum
For RowNdx = StartRow To EndRow
WholeLine = ""
For ColNdx = StartCol To EndCol
If Cells(RowNdx, ColNdx).Value = "" Then
CellValue = ""
Else
CellValue = (Cells(RowNdx, ColNdx).Value)
'Application.WorksheetFunction.Text _
'(Cells(RowNdx, ColNdx).Value, _
'Cells(RowNdx, ColNdx).NumberFormat)
End If
WholeLine = WholeLine & CellValue & Sep
Next ColNdx
WholeLine = Left(WholeLine, Len(WholeLine) - Len(Sep))
Print #FNum, WholeLine
Next RowNdx
EndMacro:
'On Error GoTo 0
Application.ScreenUpdating = True
Close #FNum
Range("A1").Select
End Sub
Люди, помогите пожалуйста. Как в экселе сделать чтоб набираемые цифры (сумма)в ячейки отображались прописью?
пример:
1237,00
отображалась бы
Одна тысяча двести тридцать семь рублей 00 копеек
А то которая функция имеется, то она доступна на малазийском языке или на кокам-то таком.
Иож у кого есть скрипт какой-нить, а то каждый раз прописывать большие суммы надоедает.
закачай надстройку и пользуйся _http://softsearch.ru/programs/51-504-summa-propis-ju-download.shtml
Добавлено через 6 минут
Потому что в шаблонах нет "пустого" шаблона, типа "книга".xls
не пойму зачем? но если нужно, сохрани пустую книгу как шаблон....
2 volontoyr
Люди, помогите пожалуйста. Как в экселе сделать чтоб набираемые цифры (сумма)в ячейки отображались прописью?
пример:
1237,00
отображалась бы
Одна тысяча двести тридцать семь рублей 00 копеек
Есть такая штука - UDF.XLS называется - во всяком случае я ее под таким именем нашел сто лет назад.
Не найдешь - стучи.
Люди, помогите пожалуйста. Как в экселе сделать чтоб набираемые цифры (сумма)в ячейки отображались прописью?
пример:
1237,00
отображалась бы
Одна тысяча двести тридцать семь рублей 00 копеек
А то которая функция имеется, то она доступна на малазийском языке или на кокам-то таком.
Иож у кого есть скрипт какой-нить, а то каждый раз прописывать большие суммы надоедает.
Нашел интересную статью на эту тему, хотя сам не пробовал.
http://msexcel.ru/content/view/97/2/
http://office.microsoft.com/ru-ru/word/HP051862221049.aspx
Используя функцию СЧЁТЕСЛИ при совпадении чисел в столбце,
прога считает за одно. Как исправить?
Пример: 1, 2, 3, 4, 4, 5
=СЧЁТЕСЛИ(A1:A6;">3")
Должно получиться 3, но пишет 2, т.е. (4) считает за один.
2007 EX
valeransk1
15.12.2007, 10:32
Используя функцию СЧЁТЕСЛИ при совпадении чисел в столбце,
прога считает за одно. Как исправить?
Пример: 1, 2, 3, 4, 4, 5
=СЧЁТЕСЛИ(A1:A6;">3")
Должно получиться 3, но пишет 2, т.е. (4) считает за один.
2007 EX
встроенными средствами экселя никак. в visual basic который встроен это можно сделать. при помощи массивоф
valeransk1,
встроенными средствами экселя никак. в visual basic который встроен это можно сделать. при помощи массивоф
Не подскажете, поступенчато, как это сделать?
Или где почитать про это.
Используя функцию СЧЁТЕСЛИ при совпадении чисел в столбце,
прога считает за одно. Как исправить?
Пример: 1, 2, 3, 4, 4, 5
=СЧЁТЕСЛИ(A1:A6;">3")
Должно получиться 3, но пишет 2, т.е. (4) считает за один.
2007 EX
Специально сейчас у себя проверил, все работает. то есть показывает 3, а не 2:
http://i040.radikal.ru/0712/5c/10c83943bca0.jpg
Т.е. это не баг Экселя вообще, это скорее баг именно вашей версии. Попробуйте либо переустановить эксель, либо найти другую версию.
Т.е. это не баг Экселя вообще, это скорее баг именно вашей версии. Попробуйте либо переустановить эксель, либо найти другую версию.
А возможно это баг твоих исходных данных. Проверь, возможно в некоторых ячейках введены не цифры, а текст. В вашем примере неправильный результат может получится, если одна из четверок введена каук число, а вторая как текст.
Подскажите пожалуйста. У меня есть база данных: один столбец кодовый номер, а другой фамилия. Как сделать так чтобы при набирании какого либа кодового номера на другом листе, во втором столбце рядом автоматически высвечивалась (появлялась) фамилия.? Я пробовал связывать данные но както не удачно.
Спасибо.
Подскажите пожалуйста. У меня есть база данных: один столбец кодовый номер, а другой фамилия. Как сделать так чтобы при набирании какого либа кодового номера на другом листе, во втором столбце рядом автоматически высвечивалась (появлялась) фамилия.? Я пробовал связывать данные но както не удачно.
Спасибо.
В ячейке, где должна оботражаться фамилия:
=ВПР(адрес ячейки, куда вводится код;диапазон обоих столбцов;номер столбца в диапазоне;0)
То есть например если есть два столбца. Один A1:A5 с кодами, другой B1:B5 с фамилиями. Все находятся на Листе1.
Допустим на Листе2 вводится код в ячейку B1, а фамилия должна быть в A1. Для этого в A1 пишем:
=ВПР(B1;Лист1!A1:B5;2;ЛОЖЬ)
=ЕСЛИ(ЕНД(ВПР(B1;Лист1!$A$1:$B$5;2;ЛОЖЬ)) = ИСТИНА; "Сотрудник не найден"; ВПР(B1;Лист1!$A$1:$B$5;2;ЛОЖЬ)) - тогда формулу можно "перетаскивать".
ЗЫ: подобное можно получить и используя две функции: ИНДЕКС(ПОИСКПОЗ())
добрый день всем.
Подскажите как втсавить данные из Ворда в Ексель без форматирования.
То есть если написано 2:1, то чтобы после вставки в Excel так и оставалось а не изменял в 2:01
gazowik,
Вариант 1
1. Выделить ячейки в Excel-е, в которые будете вставлять данные - Формат ячеек – Текстовый
2. Скопировать данные в Word-е.
3. В Excel-е – специальная вставка - Text
Вариант 2
1. В Word-е перед копированием заменить ":" на " : " (пробел до и после двоеточия)
ЗЫ: Это случайно не результаты футбольных матчей? :)
to vilukin
спасибо за совет. ты почти угадал, только не футбольных а хоккейных матчей
Используя функцию СЧЁТЕСЛИ при совпадении чисел в столбце,
прога считает за одно. Как исправить?
Пример: 1, 2, 3, 4, 4, 5
=СЧЁТЕСЛИ(A1:A6;">3")
Должно получиться 3, но пишет 2, т.е. (4) считает за один.
2007 EX
Подтверждаю слова Enfriz - Excel выдает правильный результат (3).
Office 2007 SP1
всем привет
требуется, чтобы отрицательные числа отображались в скобках
подскажите как...
capcipa,
В "Формат ячейки-Числовые форматы-(все форматы)" создать формат ячейки # ###;(-# ###).
capcipa,
В "Формат ячейки-Числовые форматы-(все форматы)" создать формат ячейки # ###;(-# ###).
Работает, большое спасибо.
Мне оказывается нужен был такой формат - # ###;(# ###)
:)
Итак, работаем.
Вопрос не по excel, а по openoffice calc.
Можно ли сделать так, чтобы цифра прописывалась, т.е. не 100, а сто?
Итак, работаем.
Вопрос не по excel, а по openoffice calc.
Можно ли сделать так, чтобы цифра прописывалась, т.е. не 100, а сто?
Так же, как в Excel - используя функции на Basic. Пример функций, работающих одинаково в Excel и Calc:
Option Explicit
Function myrubl(ByVal lnga As Long) As String
Dim strx As String
Dim intlx As Integer
Dim inti As Integer
Dim strq As String
Dim intll As Integer
Dim intrub(1 To 9) As Integer
Dim strr(1 To 4, 1 To 9) As String
strr(1, 1) = "один"
strr(1, 2) = "два"
strr(1, 3) = "три"
strr(1, 4) = "четыре"
strr(1, 5) = "пять"
strr(1, 6) = "шесть"
strr(1, 7) = "семь"
strr(1, 8) = "восемь"
strr(1, 9) = "девять"
strr(2, 1) = "десять"
strr(2, 2) = "двадцать"
strr(2, 3) = "тридцать"
strr(2, 4) = "сорок"
strr(2, 5) = "пятьдесят"
strr(2, 6) = "шестьдесят"
strr(2, 7) = "семьдесят"
strr(2, 8) = "восемьдесят"
strr(2, 9) = "девяносто"
strr(3, 1) = "сто"
strr(3, 2) = "двести"
strr(3, 3) = "триста"
strr(3, 4) = "четыреста"
strr(3, 5) = "пятьсот"
strr(3, 6) = "шестьсот"
strr(3, 7) = "семьсот"
strr(3, 8) = "восемьсот"
strr(3, 9) = "девятьсот"
strr(4, 1) = "одиннадцать"
strr(4, 2) = "двенадцать"
strr(4, 3) = "тринадцать"
strr(4, 4) = "четырнадцать"
strr(4, 5) = "пятнадцать"
strr(4, 6) = "шестнадцать"
strr(4, 7) = "семнадцать"
strr(4, 8) = "восемнадцать"
strr(4, 9) = "девятнадцать"
strx = Trim(Str(lnga))
intlx = Len(strx)
If intlx > 9 Or lnga = 0 Then
myrubl = ""
Else
For inti = 1 To intlx
intrub(inti) = Val(Mid(strx, intlx - inti + 1, 1))
Next
strq = ""
For inti = intlx To 1 Step -1
intll = intrub(inti)
If intll <> 0 Then
If (inti = 9 Or inti = 6 Or inti = 3) Then
strq = strq + Trim(strr(3, intll))
ElseIf (inti = 8 Or inti = 5 Or inti = 2) Then
If intll = 1 And intrub(inti - 1) <> 0 Then
inti = inti - 1
intll = intrub(inti)
strq = strq + Trim(strr(4, intll))
Else
strq = strq + Trim(strr(2, intll))
End If
ElseIf inti = 7 Or inti = 1 Then
strq = strq + Trim(strr(1, intll))
ElseIf inti = 4 Then
If intll = 1 Then
strq = strq + "одна"
ElseIf intll = 2 Then
strq = strq + "две"
Else
strq = strq + Trim(strr(1, intll))
End If
End If
End If
If Right(strq, 1) <> " " Then
strq = strq + " "
End If
If inti = 7 Then
If intrub(7) = 1 And (intlx > 7 And _
intrub(8) <> 1 Or intlx = 7) Then
strq = strq + "миллион"
ElseIf (intrub(7) >= 2 And intrub(7) <= 4) _
And (intlx > 7 And intrub(8) <> 1 _
Or intlx = 7) Then
strq = strq + "миллиона"
Else
strq = strq + "миллионов"
End If
ElseIf inti = 4 Then
If intrub(4) + IIf(intlx > 4, intrub(5), 0) + _
IIf(intlx > 5, intrub(6), 0) = 0 Then
ElseIf intrub(4) = 1 And (intlx > 4 And _
intrub(5) <> 1 Or intlx = 4) Then
strq = strq + "тысяча"
ElseIf (intrub(4) >= 2 And intrub(4) <= 4) _
And (intlx > 4 And intrub(5) <> 1 _
Or intlx = 4) Then
strq = strq + "тысячи"
Else
strq = strq + "тысяч"
End If
ElseIf inti = 1 Then
If intrub(inti) = 1 And (intlx > 1 And _
intrub(2) <> 1 Or intlx = 1) Then
strq = strq + "рубль"
ElseIf (intrub(1) >= 2 And intrub(1) <= 4) _
And (intlx > 1 And intrub(2) <> 1 Or _
intlx = 1) Then
strq = strq + "рубля"
Else
strq = strq + "рублей"
End If
End If
If Right(strq, 1) <> " " Then
strq = strq + " "
End If
Next
myrubl = Trim(strq)
End If
End Function
Function mykop(inta As Integer) As String
Dim strq As String
Dim strt As String
Dim strt1 As String
Dim strt2 As String
If inta > 99 Then
mykop = ""
Else
strt = Trim(Str(inta))
If Len(strt) = 1 Then
strt = "0" + strt
End If
strt1 = Left(strt, 1)
strt2 = Right(strt, 1)
If strt2 = "1" And strt1 <> "1" Then
strq = strt + " копейка"
ElseIf (strt2 = "2" Or strt2 = "3" Or strt2 = "4") _
And strt1 <> "1" Then
strq = strt + " копейки"
Else
strq = strt + " копеек"
End If
mykop = strq
End If
End Function
Function myrubkop(ByVal curz As Currency, _
Optional ByVal blnnkop) As String
' Если Blnnkop=Falsе,
' "00 копеек" не выводится
Dim lngr As Long, intk As Integer
Dim strq As String
Dim blnnkopl As Boolean
If curz < 0 Or curz > 999999999.99 Then
myrubkop = "***************************"
Else
lngr = Int(curz)
intk = (curz - lngr) * 100
strq = myrubl(lngr)
If IsMissing(blnnkop) Then
blnnkopl = True
Else
blnnkopl = blnnkop
End If
If intk <> 0 Or (intk = 0 And blnnkopl) Then
strq = strq + " " + mykop(intk)
Else
strq = strq
End If
myrubkop = UCase(Left(strq, 1)) + _
Right(strq, Len(strq) - 1)
End If
End Function
В Calc в меню выбираешь
Сервис - Макросы - Управление Макросами - Open Office.org Basic
создаешь в файле новый модуль и вставляешь код.
После этого можно в ячейках использовать функции myrubl(), mykop(), myrublkop().
Спасибо. конечно.
Но боюсь, это мне не поможет. Представьте, что я блондинка - будет легче...
Добавлено через 8 минут
Добавить макросы смогла. Как использовать не знаю...
В Excel созданы макросы.
Как открывать этот файл без лишних вопросов
перед открытием о предупреждении наличия в файле макросов.
Если можно поподробнее.
dobrenkiy
04.02.2008, 11:54
Подскажите как убрать лишние пробелы в ячейках. При экспорте из одной программы в числовом столбце есть пробел (10 000) и экзель не воспринимает его как число. Как это исправить в экзеле?
dobrenkiy, а чего проще-то... Правка-Заменить "пробел" на "ничто"..
по-моему так... ну, и поменять если нужно формат ячейки на числовой.
Добавлено через 10 минут
Как открывать этот файл без лишних вопросов
Наверное, Сервис-Макрос-Безопасность...
dobrenkiy
04.02.2008, 13:33
[QUOTE=Chetiki;1436867]dobrenkiy, а чего проще-то... Правка-Заменить "пробел" на "ничто"..
по-моему так... ну, и поменять если нужно формат ячейки на числовой.
это работает в ворде, в экзеле нет.
Только что попробовал - у меня работает (Офис-2000)
ctrl-H пробел на пусто самый простой способ (частый глюк экспорта)
dobrenkiy
04.02.2008, 15:49
ctrl-H пробел на пусто самый простой способ (частый глюк экспорта)
в экзеле это не катит! Офис 2003 и 2007
Подскажите как убрать лишние пробелы в ячейках. При экспорте из одной программы в числовом столбце есть пробел (10 000) и экзель не воспринимает его как число. Как это исправить в экзеле?
Сразу для всего диапазона
1. В пустую ячейку введите цифру 1.
2. Выделите эту ячейку и выберите в меню Правка команду Копировать.
3. Выберите диапазон чисел, сохраненных как текст, которые требуется преобразовать.
4. В меню Правка выберите команду Специальная вставка .
5. В группе Операция выберите вариант умножить.
6. Нажмите кнопку OK.
7. Удалите содержимое ячейки, введенное на первом шаге.
Примечание. Некоторые системы учета отображают отрицательные значения со знаком минус (-) справа от значения. Чтобы преобразовать эти текстовые строки в значения, возьмите все знаки текстовой строки, кроме самого правого (знака минус), и умножьте результат на -1. Например, если в ячейке A2 содержится строка «156-», следующая формула преобразует этот текст в значение -156.
Если такое выполняется часто то лучше паписать макрос и назначить его кнопке.
И еще у меня Офис 2003: Я виделил дапазон чисел с непр. форматированием и в меню ошибки, которое появилось слева, выбрал "Преобразовать в число".
Нужна помощь с работой массивом и базой данных на excel.
В excel имеются функции
ВПР(искомое_значение;таблица ;номер_столбца ;интервальный_просмотр)
и
ГПР(искомое_значение;таблица ;номер_строки;интервальный_просмотр)
Нужно объединить возможности обоих функций.
файл для примера [URL="http://rapidshare.com/files/90613803/help.xls.html"]
В данной книге excell имеются 2 листа. "Данные" и "Результат". На листе "Данные" имеются индексы по столбцам и строкам. На листе "Результат" имеются выборочные индексы по строкам и столбцам. Используя базу данных листа "Данные" необходимо с помощью какой либо функции заполнить лист "Результат".
Очень нужно сделать эту таблицу.
Плиз помогите!!!
Jasur79, понимаю, что сильно замутил, но у меня вот что вышло:
=ИНДЕКС('данные '!$B$2:$K$11;ПОИСКПОЗ($A2;'данные '!$A$2:$A$11);ПОИСКПОЗ(B$1;'данные '!$B$1:$K$1))
ЗЫ. очевидно, есть намного проще способ...
Jasur79, понимаю, что сильно замутил, но у меня вот что вышло:
ЗЫ. очевидно, есть намного проще способ...
Спасибо
Может прокомментируете этапы создание данной функции
Может прокомментируете этапы создание данной функции
что именно?.. где нажимать и что писать?.. откройте справочник по MS Excel, я думаю там что-то должно быть похожее... Как я такую формулу нафигачил?.. Подумал, выбрал две понравившиеся...
Уточните вопрос.
Подскажите как убрать лишние пробелы в ячейках. При экспорте из одной программы в числовом столбце есть пробел (10 000) и экзель не воспринимает его как число.
Если это надо для дальнейших вычислений, то можно пробел удалить так:
=SUBSTITUTE(A1;" ";"" ;1)
Т.е. первый попавшийся пробел заменяется на ничего.
Полученное значение далее можно преобразовать в число функцией VALUE
Разобрался спасибо, все получилось
thanks
Добавлено через 3 минуты
Есть еще одна задача.
Как уменьщить разряд числа в выделенном диапазоне, т.е. из 23546 сделать 23,55
Есть еще одна задача.
Как уменьщить разряд числа в выделенном диапазоне, т.е. из 23546 сделать 23,55
разделить на 1000 ))
если несколько вариантов то оформить это через =Если
Подскажите как убрать лишние пробелы в ячейках. При экспорте из одной программы в числовом столбце есть пробел (10 000) и экзель не воспринимает его как число.
Если это надо для дальнейших вычислений, то можно пробел удалить так:
=SUBSTITUTE(A1;" ";"" ;1)
Т.е. первый попавшийся пробел заменяется на ничего.
Полученное значение далее можно преобразовать в число функцией VALUE
Можно, попроще, выделить числовой столбец/диапазон, меню\правка\заменить, в поле найти пишем пробел, (или то что надо выкинуть), случаи могут быть разными, вместо пробела могут быть и другие символы например: 25 25=12, 4'252-12, и тд.
а если значение равно "1 321,34".. Где пробел - это символ с кодом 160? Если я набираю Найти/Заменить то он не находит, т.к. код пробела - 32.. Как сделать поиск и замену по коду?
Zhlobny Hmur
21.02.2008, 14:09
mrzed, Чтобы убрать этот пробел, надо изменить формат отображения числовой ячейки.
Подскажите, pls, необходимо на графике в Excel, каждой точке приписать свою y-погрешность, как это можно сделать (и можно ли вообще), очень уж не хочется все графики перестраивать в другой программе (не люблю Origin)...
Где пробел - это символ с кодом 160?
Никаких проблем не увидел, спецом скопировал из ворда колонку со 160 символом. Ексель заменил без проблем. Только вводить этот символ в поле Найти нужно не через Shift+ctrl+пробел, а скопировав этот символ из какой нибудь ячейки.
volontoyr
28.02.2008, 09:40
Пару вопросов.
Мне надо в эксеел сделать так. Что бы ячейки имели какой-нить цвет, но при этом, при печати, что не выводились цвета ячеек, а было так как будто они не закрашены.
Это надо для того, чтобы было видно какие ячейки заполняються.
Как это можно сделать и можно ли вообще?
И еще вопрос. Как сделать, если в ячейки А1 прописываем число, то в я В1 сразу отображалось то же число. (Я только знаю как это делается таким способом: копирование и специальная вставка - связь). Но при таком раскладе есть минусы. Во-первых, если в ячейке А1 не будет числа , то в ячеки В1 ставиться 0, А мне так не надо, надо , чтоб была пустая ячейки. Во-вторых, чтоб я мог поставить в В1, а она отобразилась в А1.
Т.е. мне надо, чтоб они были взаимосвязаны.
Как все это воплотиьт в жизнь?
Что бы ячейки имели какой-нить цвет, но при этом, при печати, что не выводились цвета ячеек, а было так как будто они не закрашены.
Это надо для того, чтобы было видно какие ячейки заполняються.
это просто: заливаешь каким хочешь цветом, а на предварительном просмотре через параметры страницы (закладка Лист) указать - Печать черно-белая... фон не печатается (проверено)
Т.е. мне надо, чтоб они были взаимосвязаны.
пока не понял... но скорее всего - нет, так не получится, будет возникать циклическая ссылка
volontoyr
28.02.2008, 15:01
это просто: заливаешь каким хочешь цветом, а на предварительном просмотре через параметры страницы (закладка Лист) указать - Печать черно-белая... фон не печатается (проверено)
За это конечно спаибо, а вот подругому ни как низя? Там к примеру фоном скрытым сделать, али еще как. Просто есть юзеры которым это бестолку объяснять. Самому это просто, а вот им:(
пока не понял... но скорее всего
На счет воторого. Объясняю есть две ячейки, если в обдну из них прописываешь что-то, что в другой отображалось то же самое. Только если там нет ничего, чтоб в другой не отображался ноль.
Я не знаю конечно, может это на макросах выполнено, но я такое видел.
vAviLons
28.02.2008, 15:25
volontoyr,
По поводу второго вопроса
В ячейке B1 использую функцию "Если" напиши: Если А1=1 тогда В1=А1 иначе т.е. если А1=0, тогда В1="" - т.е. пустое значение (=ЕСЛИ(A1;A1;""))
И наоборот
В ячейке А1 использую функцию "Если" напиши: Если В1=1 тогда А1=В1 иначе т.е. если В1=0, тогда А1="" - т.е. пустое значение (=ЕСЛИ(В1;В1;""))
vAviLons
volontoyr,
По поводу второго вопроса
В ячейке B1 использую функцию "Если" напиши: Если А1=1 тогда В1=А1 иначе т.е. если А1=0, тогда В1="" - т.е. пустое значение (=ЕСЛИ(A1;A1;""))
И наоборот
В ячейке А1 использую функцию "Если" напиши: Если В1=1 тогда А1=В1 иначе т.е. если В1=0, тогда А1="" - т.е. пустое значение (=ЕСЛИ(В1;В1;""))
Очень плохой подход к делу. Обрати внимание, что volontoyr будет работать с числовыми данными. А в твоем выражении: =ЕСЛИ(В1;В1;"") стоят пустые кавычки. Пустой символ является символьным выражением. Попробуй сделать так:
В ячейку A1 запиши формулу =""
В ячейку A2 запиши какое-нибудь число, например 3.
В ячейку A3 запиши формулу =A1+A2
И в качестве результата ты получишь не 3, а #ЗНАЧ!. Потому что ты пытаешься складывать яблоки с помидорами.
Избавиться от нулевых значений можно либо отключив их отображение (Сервис -> Параметры -> Вид, снять галку с параметра нулевые значения), либо установив соответствующий формат ячейки (для целых чисел, например, # ###).
Кроме того, если в обе ячейки и в A1, и в B1 записать формулы, как в эти ячейки volontoyr числа вводить будет?
Для решения поставленной задачи можно написать вот такой макрос и повесить его на изменение ячейки:
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address
Case "$A$1"
Range("B1").Value = Target.Value
Case "$B$1"
Range("A1").Value = Target.Value
End Select
End Sub
В этом случае, если ввести значение в ячейку A1, оно автоматически отобразится в B1. И наоборот, если ввести значение в ячейку B1, оно автоматически отобразится в A1.
Подскажите как сделать ячейку с нарастающим и убывающим числом
Добавлено через 1 минуту
Кто знает где найти программу под EXCEL для расчета кредита.
Подскажите как сделать ячейку с нарастающим и убывающим числом
Это как? Свинина-говядина?
Опиши подробнее что тебе надо.
newsletter
13.03.2008, 15:23
kosLLL,
Кто знает где найти программу под EXCEL для расчета кредита.
дифференцированный
http://img81.**************/img81/7460/downloadbuttonsf4.gif (http://depositfiles.com/files/1290321)
аннуитетный
http://img81.**************/img81/7460/downloadbuttonsf4.gif (http://dom.bankir.ru/attachment.php?attachmentid=8036&d=1072440636)
про технику вычислений аннуитете почитать ЗДЕСЬ (http://www.cfin.ru/finanalysis/smirnova/excel_bl6.shtml)
---
Кредитный калькулятор: дифференцированный или аннуитетный? (http://www.informetr.ru/journal/ipoteka/1397)
Подскажите как сделать ячейку с нарастающим и убывающим числом
можно
Вид>Панель инструментов>формы ДАЛЕЕ выбрать элемент СЧЕТЧИК ->правой кнопкой по элементу ФОРМАТ ОБЪЕКТА>ЭЛЕМЕНТ УПРАВЛЕНИЯ>ДАЛЕЕ думаю понятно….
ну а лучше поподробней, что вам надо...?
Возможно – есть пользовательские функции – они пишутся в VBA. Меня не раз выручали. Посмотри в справке пользовательские функции.
Добавлено через 6 минут
Если использовать сводную таблицу там есть сумма нарастающим итогом. Если не подходит добавь еще один столбец «B» например и напиши формулу в ячейке «B2» =СУММ($A$1:A2), скопируй ее в остальные ячейки внизу (или так сказать растяни)
Добавлено через 15 минут
Добавь еще один контрольный столбец «B» и напиши формулу в ячейке «B2» =ЕСЛИ(ЕНД(ПОИСКПОЗ(A2;A$1:A1;0));"Значение уникально";"Значение уже есть"), скопируй ее в остальные ячейки внизу (или так сказать растяни). Потом можем воспользоваться условным форматированием.
А не проще просто перед вводом чисел поставить = и сумировать числа, приэтом в командной строке видны все числа, а в самой ячейке результат
Олег Крам
02.04.2008, 12:03
Помогите решить проблему...
После перехода на EXCEL 2007 возникла проблема с открытием DBF-файлов . Неправильно преобразуются поля формата даты . Точнее EXCEL путаем месяц и число . В результате даты с числом до 12 отображаются неправильно , а свыше отображаются как текст .
Где что подправить ?
Имеется функция Couple объединяющая ячейки
Function Couple(Diapazon)
' Ob'edinenie dannyh, soderzhaschihsya v yacheikah diapazona _
Diapazon (razdelitel' mezhdu znacheniyami - probel)
' iCell - tekuschaya yacheika
For Each iCell In Diapazon
' Stseplyayutsya dannye tol'ko zapolnennyh yacheek
If IsEmpty(iCell) <> True Then
' Dobavlenie znacheniya yacheiki v vyhodnuyu stroku
If Couple = "" Then
Couple = iCell
Else
Couple = Couple & " " & iCell
End If
End If
Next
End Function
Каким образом его нужно запустить. Дайте пожалуйста пошаговую инструкцию
Функцию в модуль.
На листе, в я ячейку вводим формулу напрмер =Couple(F1:F18), где (F1:F18) некий диапазон. Еще проще воспользоваться мастером функций, в списке найти "Определяемые пользователем", далее выбрать Couple
Все очень просто:)
Функцию в модуль вставил.
В мастере функции появилась функция couple
в ячейке с набранной функцией например =Couple(F1:F18)
после ввода появляется =Couple(F1:F18)
т.е. показывается сама функция, а ячейки не объединяются
В мастере функций при выделении ячеек показывает правильное объединение ячеек, но по завершении мастера отображается сама функция =Couple(F1:F18), вместо данных объединенных ячеек
Function Couple(Diapazon)
Diapazon (razdelitel' mezhdu znacheniyami - probel)
я могу что-то где-то недогонять... Пробел, или я таки не прав?
=Chetiki;1647423я могу что-то где-то недогонять... Пробел, или я таки не прав?
Конечно пробел, он в функции явно и указан. Непонятно, что Jasur79 на выходе получить хочет, функция отрабатывает правильно, объеденияет значения ячеек в диапазоне.
Вот мой пример, заполнил значения в диапазоне от 1 до 19, функция вернула "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19"
ЗЫ:
Чтобы избавится от пробела убери его в коде, то бишь
Couple = Couple & iCell
Добавлено через 6 минут
Функцию в модуль вставил.
В мастере функции появилась функция couple
в ячейке с набранной функцией например =Couple(F1:F18)
после ввода появляется =Couple(F1:F18)
т.е. показывается сама функция, а ячейки не объединяются
В мастере функций при выделении ячеек показывает правильное объединение ячеек, но по завершении мастера отображается сама функция =Couple(F1:F18), вместо данных объединенных ячеек
Сервис\Параметры\Вид\Формулы, галочку снять
Больше причин не вижу :(
Сегодня функция у меня заработала. Возможно я неправильно установил его в модуль. Разъясните как правильно вставлять в модуль, чтобы она постоянно находилась в функциях excel.
Открываем Ексель, жмем alt+F11. В открывшемся редакторе VBA, жмем insert\Module встявляем наш код. В таком виде функция будет доступна только для этой книги. Если необходимо сделать ее доступной для всех других, можно сделать надстройку.
Сохраняем наш файл как надстройку например couple.xla, в екселе Сервис\Надстройки жмем кноку обзор находим наш couple.xla, жмем ОК. Функция будет доступна во всех книгах.
Необходимо рассчитать стаж работы работников. На каждого работника рассчитан стаж в виде лет, месяцев, дней на 19 мая 2008 года. Какой функцией необходимо воспользоваться чтобы рассчитать стаж на 1.01.2009 года.
Для примера выкладываю файл
http://rapidshare.com/files/116171856/staj.xls.html
=ДНЕЙ360() тебе в помощь, функция вернет количество дней между датами. Ну а дальше сам вытягиваешь из нее годы, месяцы и тд
Кстати не совсем понял в первой строке лет 30, месяцев 29??? Непонятно.
Месяцев 9. Ошибся.
Функцией =ДНЕЙ360() можно воспользоваться, если имеется 2 даты. У меня на 1.05.08 г. есть отдельно год, месяц, день. Нужно также отдельно вычислить на дату например 1.01.09.
По выложенной таблице нужно рассчитать столбец "Общий стаж на 1.01.09 г." и столбец "Стаж НХК на 1.01.09 г.".
=ДНЕЙ360() тебе в помощь, функция вернет количество дней между датами.
Если требуется подсчитать ТОЧНОЕ количество ДНЕЙ, месяцеы и годов, то =ДНЕЙ360() не поможет, поможет комбинация функций ГОД(), МЕСЯЦ(), ДЕНЬ(), ДАТА()
Добавлено через 4 минуты
Необходимо рассчитать стаж работы работников. На каждого работника рассчитан стаж в виде лет, месяцев, дней на 19 мая 2008 года. Какой функцией необходимо воспользоваться чтобы рассчитать стаж на 1.01.2009 года.
Для примера выкладываю файл
http://rapidshare.com/files/116171856/staj.xls.html
Функции смотри чуть выше.
Для примера выкладываю один из вариантов решения проблемы:
http://rapidshare.com/files/117593211/staj__2_.xls.html
Как заменить последние разряды на ноль в столбце из 15-ти значных чисел т.е.
из 123456789012345 получить 123456789012340
newsletter
26.07.2008, 10:08
Как заменить последние разряды на ноль в столбце из 15-ти значных чисел т.е.
из 123456789012345 получить 123456789012340
справа от столбика с этими 15 значными числами вставляем формулу:
1) воспринимается как текст
=ЗАМЕНИТЬ(адрес ячейки;15;1;0)
2) воспринимается как число
=--ЗАМЕНИТЬ(адрес ячейки;15;1;0)
newsletter, Спасибо, побробовал. Получаеться у одной строки.
А как так сделать, чтобы у всего столбца состоящего, например из 6000 строк 15-ти значных чисел последние разряды поменять на ноль.
newsletter
26.07.2008, 12:43
newsletter, Спасибо, побробовал. Получаеться у одной строки.
А как так сделать, чтобы у всего столбца состоящего, например из 6000 строк 15-ти значных чисел последние разряды поменять на ноль.
так вам надо просто формулу протянуть вниз на столько строк сколько у вас есть..щелкните на ячейку с формулой, которую вы прописали и потяните за правый нижний уголок вниз до последней строки и только потом отпустите кнопку мышки...
Добавлено через 7 минут
а вообще лучше двойной клик сделай по правому нижнему уголку ячейки с формулой...и тогда формула должна автоматически протянуться вниз до последней строки с данными...
newsletter, Спасибо Большое. Попробовал-получилось. Всё оказывается просто делается когда руки откуда надо растут.
PD_nightmare
02.08.2008, 04:04
Добрый день уважаемые специалисты!
Ситуация: имеется база данных с численностью, по месяцам получается , что она равна допустим: 24,5 ; 56,7; 120,4 и т.д. Вопрос в том, что иногда приходиться писать формулу для округление с избытком, а иногда писать формулу округления с недостатком.
Вопрос: Можно ли как то через логические условия вывести формулу, чтобы когда численность получалась по правилам математики для округления с недостатком, автоматически ставилось округленное число, когда численность получалась бы по правилам математики для округления с избытком, тоже ставилось в ячейке это округленное число?
Сколько не думал , так ничего и не надумал :( Может вы поможете.
Заранее благодарен.
newsletter
02.08.2008, 10:14
Добрый день уважаемые специалисты!
Ситуация: имеется база данных с численностью, по месяцам получается , что она равна допустим: 24,5 ; 56,7; 120,4 и т.д. Вопрос в том, что иногда приходиться писать формулу для округление с избытком, а иногда писать формулу округления с недостатком.
Вопрос: Можно ли как то через логические условия вывести формулу, чтобы когда численность получалась по правилам математики для округления с недостатком, автоматически ставилось округленное число, когда численность получалась бы по правилам математики для округления с избытком, тоже ставилось в ячейке это округленное число?
Сколько не думал , так ничего и не надумал Может вы поможете.
Заранее благодарен.
не уверен что вас понял..но все же может эти 3 варианта помогут:
http://ipicture.ru/uploads/080802/7h7YkeRQW2.jpg
PD_nightmare
02.08.2008, 12:20
не уверен что вас понял..но все же может эти 3 варианта помогут:
http://ipicture.ru/uploads/080802/7h7YkeRQW2.jpg
Мне нужна формула, которая бы логически в ячейке определяла, где округлять с избытком, где с недостатком, то есть автоматизировать расчет мне нужно :roll:
Допустим , 34.5 получилось в ячейке, она из - за логического условия сама автоматически округляет в нужную сторону , вот...
Используй функцию ЕСЛИ:
Например:
=ЕСЛИ($A$1=1;ОКРУГЛВВЕРХ(A2;0);ОКРУГЛВНИЗ(A2;0))
В случае, если в ячейке A1 будет 1, будет округление вверх,
иначе вниз.
$ означает, что при копировании в другую ячейку
адрес ячейки A1 в формуле менятся не должен.
PD_nightmare
02.08.2008, 14:10
Используй функцию ЕСЛИ:
Например:
=ЕСЛИ($A$1=1;ОКРУГЛВВЕРХ(A2;0);ОКРУГЛВНИЗ(A2;0))
В случае, если в ячейке A1 будет 1, будет округление вверх,
иначе вниз.
$ означает, что при копировании в другую ячейку
адрес ячейки A1 в формуле менятся не должен.
Понимаете , мне надо по правилам математики.Если как вы советуете присвоить значение ячейки 1 то будет просто округляться, но без правил математики.Мне надо допустим, что если десятые доли в числе х
составляют больше 4 десятых (1.1, 1.2, 1.3, 1.4 ) то производить округление с недостатком, в противном случае с избытком.Жду...:)
Понимаете , мне надо по правилам математики.Если как вы советуете присвоить значение ячейки 1 то будет просто округляться, но без правил математики.Мне надо допустим, что если десятые доли в числе х
составляют больше 4 десятых (1.1, 1.2, 1.3, 1.4 ) то производить округление с недостатком, в противном случае с избытком.Жду...:)
А чем не устраивает стандартная функция ОКРУГЛ ?
Она так и работает.
Например, формула =ОКРУГЛ(A2;0)
при A2 = 1,4 дает 1,
а при A2= 1,5 дает 2
newsletter
03.08.2008, 01:26
Мне надо допустим, что если десятые доли в числе х
составляют больше 4 десятых (1.1, 1.2, 1.3, 1.4 ) то производить округление с недостатком, в противном случае с избытком.Жду...
так вам че обратка нужна? Вы бы сформулировали поточней :cool::)
http://ipicture.ru/uploads/080803/yRtqVp58Gs.jpg
PD_nightmare
03.08.2008, 07:17
Вопрос исчерпан
Здравствуйте!
Мне необходимо сравнить числовые значения 2-х столбцов на наличие совпадений/несовпадений, причем размеры их не совпадают (1 столбец содержит больше ячеек с информацией)
Как сделать это в пределах 1 листа (2 таблицы на 1 листе) и в пределах 2-х листов одной книги (сравнение 1 столбца 1-ого листа с 1-ым столбцом 2-ого листа)?
В Excel`е я не спец и не умею пользоваться макросами, поясните пожалуйста по-подробнее.
Используй функцию Счетесли(;) - Подсчитывает количество ячеек внутри диапазона, удовлетворяющих заданному критерию.
СЧЁТЕСЛИ(диапазон;критерий)
Интервал - это одна или несколько ячеек подряд, включающие числа или имена, массивы или ссылки, содержащие числа. Пустые ячейки и текстовые значения не учитываются.
Критерий — критерий в форме числа, выражения, текста или ссылки на ячейку, который определяет, какие ячейки нужно подсчитывать. Например, критерий может быть выражен следующим образом: 32, "32", ">32", "яблоки" или B4.
например =СЧЁТЕСЛИ(Лист2!A:A;Лист1!A1) - сравнивает ячейку A1на Лист1-е со столбцом A:A на Лист2.
2 vilukin
Спасибо!
Я заодно решил поэкспериментировать с ВПР.
У меня все получилось на примере сходимости 1 к 1 т.е. если значения одинаковые (на 1 листе) стоят друг на против друга
=ЕСЛИ(ЕНД(ВПР(A1;B1:B5;2;0));"Не входит";"Входит")
Когда значения стоят не точно на против друг-друга, то результат отображается некорректно.
К примеру:
1 25 Не входит
2 55 Входит
23 56 Не входит
55 2 Не входит
Если отсортировать по-возрастанию, то
1 2 Не входит
2 25 Не входит
23 55 Не входит
55 56 Не входит
Ввел следующем образом формулу
=ВПР(A1;B:B;1;0)
1 0 #Н/Д
2 2 2
10 3 #Н/Д
23 4 #Н/Д
55 25 55
99 55 #Н/Д
100 56 #Н/Д
57 #Н/Д
58 #Н/Д
59 #Н/Д
появился вопрос:
1) Почему если указать Номер_индекса_столбца "2" (который включен в массив и по нему ведется поиск как требует ВПР), ничего не получится?
2) Если указать Диапазон просмотра "1" - ИСТИНА, то он не ищет "точно", а "0"- ЛОЖЬ (приближенно), то все выходит как надо?
2 vilukin
Спасибо!
Помог? ЖмиСпасибо Справа от моего сообщения :)
=ВПР(A1;B:B;1;0)
1) Почему если указать Номер_индекса_столбца "2" (который включен в массив и по нему ведется поиск как требует ВПР), ничего не получится?
2) Если указать Диапазон просмотра "1" - ИСТИНА, то он не ищет "точно", а "0"- ЛОЖЬ (приближенно), то все выходит как надо?
1. Внимательно прочитай справку по ВПР. В массив ты вводишь только 1 столбец B:B.
2. Диапазон просмотра - верно наоборот: "0"- ЛОЖЬ (точно!!!).
Добавлено через 54 минуты
Мне нужно чтобы текст был синим при одном условии и зеленным при другом
Используй Условное форматирование
Как решить систему урованений методом наименьших квадратов в Экселе
Функция ЛИНЕЙН рассчитывает статистику для ряда с применением метода наименьших квадратов, чтобы вычислить прямую линию, которая наилучшим образом аппроксимирует имеющиеся данные и затем возвращает массив, который описывает полученную прямую.
Помогите решить такую задачу:
Имеются данные измерения температуры воздуха за несколько лет. Столбец А - дни (более 1000), столбец В - температура.
Нужно найти и выделить все максимумы, минимумы и ноль. Температура не точно равна нулю, т.е. надо найти значение максимально к нему близкое.
Все это найденное дело нужно поместить в столбец С. То есть этот столбец будет выглядеть пустым с редкими вставками: MAX, MIN, ZERO.
К сожалению, я не умею писать макросы...
Введи эту формулу
=ЕСЛИ(МАКС(B:B)=B2;B2;ЕСЛИ(МИН(B:B)=B2;B2;ЕСЛИ(ИЛИ (И(B2>=0;B2<0,1);И(B2<=0;B2>-0,1));B2;""))) и протащи во все ячейки
0,1 и -0,1 - диапазон внурти которого - температура считается 0
К сожалению эта формула найдет только 1 максимум и минимум, а мне надо все пики и спады этой синусоиды. Представьте себе колебания температуры за 10 лет. Одно лето жаркое, другое нет и тд. И нужно найти все пики и нули. Скажем после весны с нулевой температурой пришло лето-пик и надо найти самую высокую температуру в это лето. И так за 10 лет и зим.
К сожалению эта формула найдет только 1 максимум и минимум, а мне надо все пики и спады этой синусоиды. Представьте себе колебания температуры за 10 лет. Одно лето жаркое, другое нет и тд. И нужно найти все пики и нули. Скажем после весны с нулевой температурой пришло лето-пик и надо найти самую высокую температуру в это лето. И так за 10 лет и зим.
Ничего подобного, формула дана Вам верно, следут вопрос формулировать более ясно.
Для выборки по временам года, пишите вместо (B:B) нужный дипазон (весна, квартал, полугодие, 140 лет и тд.) например (=$B$2:$B$90)
Ничего подобного, формула дана Вам верно, следут вопрос формулировать более ясно.
Для выборки по временам года, пишите вместо (B:B) нужный дипазон (весна, квартал, полугодие, 140 лет и тд.) например (=$B$2:$B$90)
:) Полностью поддерживаю
Добрый день!
Помогите решить вопрос
Есть книга со следующими листами: БЛАНК, Понедельник, Вторник, Среда и т.д. до Воскресенья.
Бланк - по горизонтали Состав товара (оптовая, розничная), по вертикали - Товар, на пересечении - Кол-во состава.
На листах по дням недели - по вертикали: ссылка на БЛАНК!Наименование продукции, по горизонтали - ссылка на БЛАНК!Состав Товара, на пересечении - авторасчет кол-ва состава товара.
Над каждой из позицией кол-во заказанного товара.
Нужно создать итоговый лист с возможностью выбора по дням недели для учета кол-ва состава - Наименование продукции, Состав, Кол-во.
Есть книга со следующими листами: БЛАНК, Понедельник, Вторник, Среда и т.д. до Воскресенья.
Бланк - по горизонтали Состав товара (оптовая, розничная), по вертикали - Товар, на пересечении - Кол-во состава.
На листах по дням недели - по вертикали: ссылка на БЛАНК!Наименование продукции, по горизонтали - ссылка на БЛАНК!Состав Товара, на пересечении - авторасчет кол-ва состава товара.
Над каждой из позицией кол-во заказанного товара.
Нужно создать итоговый лист с возможностью выбора по дням недели для учета кол-ва состава - Наименование продукции, Состав, Кол-во.
А можно на сам файл посмотреть? И возможно ли полностью переработать файл? Для использования, потом, сводных таблиц.
А можно на сам файл посмотреть? И возможно ли полностью переработать файл? Для использования, потом, сводных таблиц.
Отправил в личку
Alexandrgps
25.09.2008, 20:52
Здраствуйте помогите найти функцию что можно было:
[email protected] смотрим на первое начисление таблицы если человек работает 3 месяц как выбираем из Даты начала работы то тогда начисление идёт ему начисление идёт с 02.09.2008 по тарифу 3 месяц
Здраствуйте помогите найти функцию что можно было:
[email protected] смотрим на первое начисление таблицы если человек работает 3 месяц как выбираем из Даты начала работы то тогда начисление идёт ему начисление идёт с 02.09.2008 по тарифу 3 месяц
Повтори еще раз, только медленно, не торопясь.
PS: Если хочешь получить помощь, научись предельно четко и ясно излагать суть вопроса.
Есть столбец из чисел положительных и отрицательных,надо только отрицательные умножить на какое-то одно число,как это сделать?
ХНЫРЬ, ну, эт совсем просто :) ЕСЛИ(A1<0;A1*$C$1;A1)
Что-то типа этого :)
Формула пишется в столбце В и копируется двойный щелчком на маркере автозаполнения
коэффициент находится в ячейке С1
В столбце A:A числа, в столбец B:B формулу =ЕСЛИ(A1<0;A1*(число);A1) и протянуть по столбцу....
есть прайс :
процессоры х позиций
память х позиций
и т.д
рядом с позициями колонка с ценами
как сделать формулу (или еще чего)чтобы автоматом прибавляла допустим к позициям после названия "процессоры" которые <100 +1 >100 +2
к позициям "память"
которые <20 +1 >20 +2 и т.д
Количество позиций каждый раз меняется
Speedo, СЦЕПИТЬ(), ЕСЛИ()
Mushroomer_
06.11.2008, 18:09
axlwor,
Speedo надо будет еще анализироваться текущую строку. =ЕСЛИ(СТРОКА()<100 ......
axlwor,
Mushroomer_,
Я просто не очень силен в exel'е ,поэтому если не сложно ,подробнее напишите
Mushroomer_
07.11.2008, 16:44
Speedo,
1) вторая буква в словах процессор и память разная ;) Поэтому функция =ПСТР(A1;2;1) возвратит вторую букву слева. Если она будет "р" , то в ячейке написано процессор бла-бла-бла. Если она возращает что-то другое - значит в ячейке память.
2) ОКРВВЕРХ(СТРОКА()/100;1) и ОКРВВЕРХ(СТРОКА()/20;1) отвечают за определение числа, кооторое надо добавить в зависимости от номера строки
которые <20 +1 >20 +2 и т.д и и.т.д через 20?
< 20 , будет 1
больше 20, но меньше 40 - 2
больше 40, но меньше 60 - 3
Итоговая формула такая =ЕСЛИ(ПСТР(A1;2;1)="р";A1&ОКРВВЕРХ(СТРОКА()/100;1);A1&ОКРВВЕРХ(СТРОКА()/20;1))
помогите решить в екселе вот ето ;
в чеслителе корень кубический , под корнем синус квадратный в скобках Х+А в кубе скобки закрыли, в знаменателе Х+Bl (возле B какаето палка хз че за палка , может опечатка) А=-0,31(ячейка А2) В= 3,67(ячейкаВ2) Х=0,97(ячейка С2)
Добавлено через 33 минуты
и есче вот такое помогите http://img98.**************/img98/8935/255555dh2.th.png (http://img98.**************/my.php?image=255555dh2.png)http://img98.**************/images/thpix.gif (http://g.**************/thpix.php)
KL1 - кол-во элементов массива х значение которых меньше числа 0,1
SM1 - сумма элементов массива ч значение которых больше 0,5
здесь нужна схема алгоритма и само решение как ето выглядит в экселе
:sos::sos::sos:
Mushroomer_
18.11.2008, 07:39
KL1 - кол-во элементов массива х значение которых меньше числа 0,1
SM1 - сумма элементов массива ч значение которых больше 0,5Числа из твоих массивов надо распихать по отдельным ячейкам. А затем
KL1=СЧЁТЕСЛИ(A1:A9;"<0,1")
SM1=СУММЕСЛИ(B1:B9;">0,5";B1:B9)
как корень кубический вічеслить в єкселе ?
корень кубический вічеслить
а в степени (1/3) не получается никак?
^(1/3)
Mushroomer_
18.11.2008, 14:50
как корень кубический вічеслить в єкселе ?=СТЕПЕНЬ(x;1/3)
profik777
20.11.2008, 17:18
По функции ВПР находим в таблице искомое значение.
Как определить адрес найденной ячейки???
помогите, пожалуйста
Используйте функцию =ПОИСКПОЗ()
Всем доброго времени суток.
Помогите, плиз, в таком вопросе:
есть большой список данных в форме таблицы. в первом столбце заполнены не все строки, а только по одной для каждого блока данных.(остальные пустые) то есть допустим - "первый", а в следующих столбцах уже идут данные во всех строках.
Задача заключается в том что нужно, чтобы в первом столбце были заполнены все строки!
то есть до конца блока данных, которые относятся к блоку "первый" в каждой строчке в первом столбце было написано "первый"!
конечно можно нажимать 2 раза на нижний правый угол ячейки, но данных очень много и этот способ не удобен.
Помогите решить такую задачу.
Помогите решить такую задачу.
Макросом самое то, вот навскидку решение
i -номер строки, вместо 37 задать надо свое количество строк , пример сделан для столба А
Sub proba()
For i = 1 To 37
If Cells(i, 1) <> 0 Then
znach = Cells(i, 1)
Else
Cells(i, 1) = znach
End If
Next i
End Sub
DSp , спасибо.
попробовал - работает!
только сразу появились еще вопросы.
у меня есть свой файл с макросами (в 2007), как мне в нем сделать этот макрос, но так чтобы он работал не именно в этом файле в котором он, а в других? (сам попробовал - ничего не получилось...)
то есть открыт у меня файл с макросами, затем я открываю файл, в котором мне нужно применить этот макрос.
в этом файле нажимаю выполнить этот макрос, а он мне заполняет строки не в этом файле, а в том, в котором находится сам макрос! мои остальные макросы работают по другому, но их я делал при помощи записи...
может что подскажете?
в этом файле нажимаю выполнить этот макрос, а он мне заполняет строки не в этом файле, а в том, в котором находится сам макрос! Странно:( В у меня офис2003, делает все как надо!
Про 2007 ничего сказать не могу, к сожаленью:(
Как вариант- вклеить этот макрос в нужный файл или через надстройку(ну этож много чести, для разовой работы:))
DSp,
все, разобрался.
Все получилось - просто немного подругому нужно было создавать этот макрос в файле с моими макросами.
Еще раз огромное спасибо!!!
Maxon08,
Это можно было сделать и с помощью формулы:
вставить в ячейку В1 =ЕСЛИ(A1<>"";A1;"")
вставить в ячейку В2 =ЕСЛИ(A2<>"";A2;B1) - протянуть по столбцу В:В
vilukin,
спасибо.
и так работает! буду теперь пользоваться обоими этими способами!
есть вопросик:
имеем таблицу в 2 столбца и 200 строк, сумма по второму столбцу - за 12 тыщ
Надо _как-то_ выбрать строки так, чтоб сумма оставшихся во 2-м столбце была _ровно_ или _как можно ближе_ к 4 тыщам.
Понятно, нет?
Оч.прошу че-та подсказать - ибо голова моя не варит :(
Понятно, нет? Я не понял:(
А сумма во втором столбе как считается? так =СУММ(B1:B200) или по другому? И что значит выбрать строки. Лучше бы конечно файлик слить куда нибудь!
А сумма во втором столбе как считается? так =СУММ(B1:B200) или по другому?
главное, чтоб выбранные строки по второму столбцу дали требуемое значение.
Название: 60_ВВВВ.rar
Размер: 6.77 кб
Ссылка для скачивания файла (http://ifolder.ru/9258897)
что значит выбрать строки
выбрать и всё тут :) шоб я знал их в лицо
Речь о днеьгах, поэтому можно только меньше на 0,01
выбрать и всё тут шоб я знал их в лицо теперь ясно:)
строки я так понял можем брать произвольно
ближе_ к 4 тыщам
меньше или больше 4х?
Добавлено через 1 час 30 минут
Вообщем единственная мысль которая пришла в голову, это воспользоваться надстройкой поиск решения. Рядом с суммой заводим второй столбец где пишем тока 1, еще в одном перемножаем сумму с однерками, обшая сумма по доп столбу будет таже что и в первом, далее "поиском решения", наложив ограничение на столбец с единицами, запросто разбиваю его 0 и 1(там где единицы и есть нужные нам строки). Но затык в том, на таком диапазоне из 220 строк "Поиск решения" у меня ругается на "Слишком много изменяемых ячеек".
Мож оф2007 проглотит?
Или как вариант эту задачку по комбинаторике писать на VBA.
На пятьдесят строк это выглядит
http://clip2net.com/clip/m11609/1227633056-clip-38kb.png
На 200 строк, этот метод отрабатывает на ура!
Всем доброго времени суток.
Помогите, плиз, в таком вопросе:
есть большой список данных в форме таблицы. в первом столбце заполнены не все строки, а только по одной для каждого блока данных.(остальные пустые) то есть допустим - "первый", а в следующих столбцах уже идут данные во всех строках.
Задача заключается в том что нужно, чтобы в первом столбце были заполнены все строки!
то есть до конца блока данных, которые относятся к блоку "первый" в каждой строчке в первом столбце было написано "первый"!
конечно можно нажимать 2 раза на нижний правый угол ячейки, но данных очень много и этот способ не удобен.
Помогите решить такую задачу.
Я бы попробовал записать макрос на последоательность действий, назначить горячие клавиши или зацыклить макрос
ПОМОГИТЕ ПЛИЗЗЗ
мне надо чтобы данные из нескольких разных Книг собирались в одну общую Книгу (назовём ее Книга1).
Например, в Книге1 я в первой строке делаю ссылку на Книгу N в ячейку, где попустим в заголовке таблицы написано декабрь. а вторая строка в Книге 1,соответственно, должна брать остальные данные (ну допустим числовые значения из той самой Книги N, где находится таблица "декабрь").
По сути, это функция ЕСЛИ, но она в данном случае не подходит потому что придётся всё равно каждый раз указывать во всех ячейках на какую Книгу ссылаться, а мне надо чтобы я вносила данные в одну ячейку (на исходную Книгу), а все остальные ячейки ссылались уже на ту же Книгу, что и в первой ячейке, но уже на другие ячейки этой Книги.
надеюсь что понятно объяснила
Вопрос вот такой возник...
есть массив данных, который устроен следующим образом - в столбцах B,C и D во всех строках стоят данные.
в столбце А данные есть только в одной строке у блока данных, то есть в первой строке есть, в следующих 9(например) нет, затем в 10 строке есть - в следующих 9 нет и т.д.
Необходимо под каждым блоком данных вставить строку с итогами по этому блоку!
то есть 11 строкой становится строка - "ИТОГО" (в столбцах B,C,D в принципе пусть будет пусто)
далее, в 22 строке "ИТОГО" и т.д.
Очень хотелось бы иметь такой макрос!
Помогите пожалуйста.
Maxon08, а объеденить эти 10 ячеек (с данными и пустые) можно? Тогда можно було б воспользоваться Итогами... из меню Данные.
Добавлено через 2 минуты
ленка_, если честно - не представил себе общую картину.. Возможно, было бы понятнее, если б имел от вас какие-то примеры. Можете залить на обменник?
Chetiki, просто очень много данных - список из нескольких тысяч строк, а делятся они все на равные блоки строк по 10-15. Придется много объединять...
Chetiki, просто очень много данных Я тут уже выкладывал макросик про проблеме заполнения столбца "А" в данном случае. На базе его пишем другой. Что вроде
Sub Макрос1()
'
'скопирум таблицу на другой лист
Sheets("Лист1").Select
Cells.Select
Selection.Copy
Sheets("Итоги").Select
Cells.Select
ActiveSheet.Paste
Range("A1").Select
With Worksheets("Итоги").UsedRange
r = .Cells(.Rows.Count, .Columns.Count).Row
'c = .Cells(.Rows.Count, .Columns.Count).Column
'Подсчитали строки и столбцы
End With
'применим уже упоминашийся здесь макрос
For i = 1 To r
If Cells(i, 1) <> 0 Then
znach = Cells(i, 1)
Else
Cells(i, 1) = znach
End If
Next i
'вставляем итоги
Application.CutCopyMode = False
Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(2, 3, 4), _
Replace:=True, PageBreaks:=False, SummaryBelowData:=True
Columns("A:A").EntireColumn.AutoFit
End Sub
те. смысл, главное запонить столб "А", по сле этого как говорит Chetiki, любые итоги получаем.
файлик-пример здесь (http://narod.ru/disk/4274766000/%D0%BC%D0%B0%D0%BA%D1%80%D0%B8%D0%BA.xls.html)
Maxon08, а если отфильтровать по пустым ячейкам и заполнить их ссылкой =R[-1]C?
DSp,
Chetiki,
еще раз огромное спасибо за помощь! :beer:
сейчас буду переделывать макрос под свои данные!
да и формула полезная!
подскажите пожалуйста, как правильно посчитать обратное распределение Стьюдента?
если например посмотреть по таблице при вероятности 0,95 и степенях свободы должно получиться число 1,812. а вот если в Exel записать формулу =СТЬЮДРАСПОБР(0,95;10) получается число 0,064298146.
в чём ошибка?
оч срочно нужно((
только не надо предлагать другие программы, мне нужно выяснить как правильно считать именно в Excel (препод задал)
..при вероятности 0,95 и степенях свободы должно получиться число 1,812. а вот если в Exel записать формулу =СТЬЮДРАСПОБР(0,95;10) получается число 0,064298146.
в чём ошибка?
Может, попробовать записать вероятность как 0,05?
Может, попробовать записать вероятность как 0,05?
тогда получается 2,22813884242587...............
Почитал "Статистику в Excel" Макаровой.
Итак, "Функция обратного распределения Стьюдента используется в
ситуациях, когда известен уровень надежности (или уровень значимости)
и необходимо рассчитать значение /-критерия.
Например, .. исходя из числа степеней свободы k=9 и заданного
уровня надежности 95 % (уровня значимости а = 0,05) находим
значение коэффициента доверия, равное 2,26 (формула
=СТЬЮДРАСПОБР(0,05;9))".
Значит, при вероятности 0,95 и степенях свободы 10 (в рабочую книгу записываем как СТЬЮДРАСПОБР(0,05;10) получается 2,22.
По таблице из книги ("Исследования с-х техники и обработка опытных данных", Хайлис Г.А.) при числе степеней свободы 10 и вероятности 0,95 коэффициент Стьюдента равен 2,2.
Почему у vvo1962 в этом случае должно получиться 1,812?
Добавлено через 1 час 12 минут
Вопрос вот такой возник...
есть массив данных, который устроен следующим образом - в столбцах B,C и D во всех строках стоят данные.
в столбце А данные есть только в одной строке у блока данных, то есть в первой строке есть, в следующих 9(например) нет, затем в 10 строке есть - в следующих 9 нет и т.д.
Необходимо под каждым блоком данных вставить строку с итогами по этому блоку!
то есть 11 строкой становится строка - "ИТОГО" (в столбцах B,C,D в принципе пусть будет пусто)
далее, в 22 строке "ИТОГО" и т.д.
Если без макросов.
Как я понял имеет место подобная таблица
рис.1
http://clip2net.com/clip/m0/1231788011-001-80kb.jpg?nocache=1
В таблицу добавляем рабочий столбец F (Группа+)рис.2
http://clip2net.com/clip/m0/1231789571-002-93kb.jpg?nocache=1
В ячейке F2 пишем формулу =A2
В ячейке F3 пишем формулу =ЕСЛИ(A3=0;F2;A3)
Ячейку F3 протягиваем до конца списка и получаем рис.2
рис.3
http://clip2net.com/clip/m0/1231789866-003-113kb.jpg?nocache=1
Далее Данные-Итоги: При изменении в "Группа+", Операция "Сумма", Добавить итоги по "Стоимость"
рис.4
http://clip2net.com/clip/m0/1231790010-004-115kb.jpg?nocache=1
P.S. Не уверен что рисунки нормально вставятся, если идею не уловил, стучись в ЛС
Всем добрый день.
Помогите пожалуйста с такой задачей:
есть список данных (около 400000 строк - 2007 Excel)
после создания консолидированной таблицы получается 17000 строк (в таблице номера карт)
в консолидированной таблице есть столбцы содержащие информацию по средней сумме покупок по карте
необходимо получить информацию (в консолидированной таблице или в исходной) о том, как часто в списке встречается эта карта (номер) ???
Помогите решить задачу.
Заранее благодарен.
Всем спасибо, кто уже готов был дать мне ответ и совет!!!
Уже нашел как это в самой сводной сделать...
З.Ы. если все-таки кто-то знает или формулу или минимакрос как написать - буду благодарен!
DSp
фильтр не очень удобен - 400000 строк все-таки.....
в сводных есть возможность посмотреть именно количество повторений!
но все-равно спасибо что откликнулись!
как часто в списке встречается эта карта (номер) ??? Насколько я понял задачу, запросто решается установкой фильтра по это карте (не совсем удобно) или созданием сводной таблицы из исходной, там можно манипулировать данными очень многообразно!
Здравствуйте,подскажите,пожалуйста,как решить такую проблему:надо,чтобы при введении в ячейку А1 буквы "Р" в ячейке D1 производилалась операция B1-C1 , а при введении буквы "С" в ячейку А1, в D1 обратная операция- С1-В1. Заранее спасибо.
resus, а простая функция ЕСЛИ не работает?
D1=ЕСЛИ(А1="Р";B1-C1;С1-В1)
кажись так... или я че-та не понял?
В ячейку D1:
=ЕСЛИ(A1="Р";B1-C1;ЕСЛИ(A1="C";C1-B1;"Ни С ни Р"))
Ни та ни другая формул не работают, к сожалению. Быть может причина в том,что Excel определяет аргумент A1="Р" как ЛОЖЬ?
resus, да быть такого не могет! задача слишком проста... ищи косяк.
или символы вводишь не из того языка или порядок путаешь.
Залей пример таблицы - поглядим.
Ни та ни другая формул не работают, к сожалению. Быть может причина в том,что Excel определяет аргумент A1="Р" как ЛОЖЬ?
Что значит не работают. Что пишет?(ошибка, результат). "Р" - русская, английская тоже самое с "С" еще и регистр важен.
В D1 - 0 ,в А1 -С либо В латинская(с кавычками и без), не зависимо от чисел в В1 и С1
Формула
http://s60.radikal.ru/i168/0901/c4/153a12b15121.jpg
Результат
http://s48.radikal.ru/i121/0901/d8/d63efec03547.jpg
Спасибо большое, получилось после того,как ввёл формулу вручную, до этого просто скопировав из Вашего поста , вставил в ячейку.Однако ещё вопрос:при копировании формулы в нижние ячейки,копируется также значение и на изменения в соответствующих А,В,С не меняется значение в D.Спасибо.
oa37_kii
29.01.2009, 14:34
Здраствуйте!
У меня такой вопрос:
Есть таблица з данными (3 столбца: данные по-годам - 2006,2007,2008) на основе которых будет построена диаграмма.
Я сделал простую столбиковую диаграмму и результат вышел нормальний (тут никаких вопросов нет). Мне нужно что-бы на диаграмме (или же инными словами говоря диаграмма отображала) разницу (прирост или убавление, в абсолютных единицах - не в процентах) между определёнными показателями меж годов.
Например:
2006 - 100
2007 - 120
2008 - 150
Мне нужно не только три столбика, но и показать на диаграмме прирост показателя в 2007 году +20 в 2008 году +30...
Что мне нада для этого сделать?
Однако ещё вопрос:при копировании формулы в нижние ячейки,копируется также значение и на изменения в соответствующих А,В,С не меняется значение в D.Спасибо.
Что-то странное, а если взять ячейку, с формулой, за правый нижний угол и потянуть вниз.
Здравствуйте.Подскажите,уважаемые,как разрешить проблему:в ячейке
А1 значение "X",к D1 применено условное форматирование( при A1="X" значения в D1 (>50) отображаются зеленым цветом,<50-красным) Вопрос:каким образом при A1="Y", в D1 отображался бы цвет ровно наоборот(>50 -красным,<50 -зеленым? Спасибо.
Здравствуйте.Подскажите,уважаемые,как разрешить проблему:в ячейке
А1 значение "X",к D1 применено условное форматирование( при A1="X" значения в D1 (>50) отображаются зеленым цветом,<50-красным) Вопрос:каким образом при A1="Y", в D1 отображался бы цвет ровно наоборот(>50 -красным,<50 -зеленым? Спасибо.
Есть 3 мысли
1. Создать доп.условие: в A1 отображается значение, в B1 - тип этого значения и уже отсюда плясать
2. Оговорить диапозон колебаний X и диапазон колебаний Y: типа ЕСЛИ(И(A1>50;A<100);1;0) - зеленый и так 4 условия
3. взять фломастер и....
andrey_k
05.02.2009, 11:54
Всем добрый день.
Помогите пожалуйста с такой задачей:
есть список данных (около 400000 строк - 2007 Excel)
после создания консолидированной таблицы получается 17000 строк (в таблице номера карт)
в консолидированной таблице есть столбцы содержащие информацию по средней сумме покупок по карте
необходимо получить информацию (в консолидированной таблице или в исходной) о том, как часто в списке встречается эта карта (номер) ???
Помогите решить задачу.
Заранее благодарен.
Всем спасибо, кто уже готов был дать мне ответ и совет!!!
Уже нашел как это в самой сводной сделать...
З.Ы. если все-таки кто-то знает или формулу или минимакрос как написать - буду благодарен!
DSp
фильтр не очень удобен - 400000 строк все-таки.....
в сводных есть возможность посмотреть именно количество повторений!
но все-равно спасибо что откликнулись!
Если уже есть два списка: исходный и просто перечень номеров карт, то можно использовать функцию СЧЁТЕСЛИ() для поиска количества этих номеров карт в исходном списке.
В сводной таблице есть встроенная функция аналогичная.
Как сформировать список-перечень, объясню дополнительно, если нужно.
Serhio_61
02.03.2009, 00:54
Здравствуйте!
Задачка,в общем-то,достаточно простая для тех,кто знает как:
некие умники запихали свои данные вида "12.2345345,0.234,6.4321"(три числа с разделителем точка,разделенные запятой) в одну ячейку.Таких ячеек в столбце многие тысячи.
Не поможете макросом,разбивающим столбец на три в соответствии с межчисловым разделителем-запятой?
Спасибо!
P.S. То,что это просто,знаю из 4-летней практики на VB5(увы,8 лет как с ним покончено).
lenchickkk
02.03.2009, 07:49
Халлоу всем!
у меня тут такая маленькая проблема в экселе. Мне даны данные и мне просто надо чтобы между ними было два пустых ряда (+/- 600 entries). Может кто нибудь подсказать, если есть такая возможность, выделить их все и чтоб они шли в таком порядке (т.е. через каждые два пустые ряда). Я уже замучила help, но кроме как элементарно накликать себе два новых ряда ничего найти не могу, ну или можно еще повторить последнее действие, тоже морока. Спасибо огромное!
Не поможете макросом,разбивающим столбец на три в соответствии с межчисловым разделителем-запятой? Зачем макрос?, есть встроенный инструмент "Данные\Текст по столбцам" как раз для таких задач!
Мне даны данные и мне просто надо чтобы между ними было два пустых ряда (+/- 600 entries). Может кто нибудь подсказать, Ничего не понял... абсолютно((( Может пример в студию?
у меня тут такая маленькая проблема в экселе. Мне даны данные и мне просто надо чтобы между ними было два пустых ряда (+/- 600 entries). Может кто нибудь подсказать, если есть такая возможность, выделить их все и чтоб они шли в таком порядке (т.е. через каждые два пустые ряда). Я уже замучила help, но кроме как элементарно накликать себе два новых ряда ничего найти не могу, ну или можно еще повторить последнее действие, тоже морока. Спасибо огромное!
__________________
Включите запись макроса перед действием, которое нужно тыщу :) раз повторять. А потом на кнопочку повесьте этот макрос и кликайте. P.s. Ну а чтоб вообще ничего не делать можно и цикл в макрос вставить.
andrey_k
02.03.2009, 13:47
Халлоу всем!
у меня тут такая маленькая проблема в экселе. Мне даны данные и мне просто надо чтобы между ними было два пустых ряда (+/- 600 entries). Может кто нибудь подсказать, если есть такая возможность, выделить их все и чтоб они шли в таком порядке (т.е. через каждые два пустые ряда). Я уже замучила help, но кроме как элементарно накликать себе два новых ряда ничего найти не могу, ну или можно еще повторить последнее действие, тоже морока. Спасибо огромное!
Если данных немного (около 100-300 строк), то можно вручную вставлять строки. Иначе - проще сделать макрос (даже через макро-запись Ваших действий), который бы определял кол-во вставляемых строк (=имеющиеся строки -1) и в каждой строке добавлял нужное Вам кол-во строк новых. Если нужно, дам текст макроса.
(т.е. через каждые два пустые ряда) Ну если речь идет о том чтобы добавить пустые строки между существующих то это просто, вот пример для реализации:
Sub Addrows()
x = 2 'количество пустых строк для вставки
With Worksheets("Лист1").UsedRange
r = .Cells(.Rows.Count, .Columns.Count).Row
'Подсчитали строки
End With
'Подсчитали строки
For i = r To 1 Step -1 'начинаем с последней строки
Cells(i, 1).Select
For ii = 1 To x
Selection.EntireRow.Insert
Next ii
Next i
End Sub
http://s47.radikal.ru/i115/0903/94/44ba566e2d05.jpg
Формирую сводную таблицу. Можно ли сделать, чтоб данные столбцов повторялись. Допустим "Обустройство устья" повторилось 5 раз, "Кран" - 2 раза, "55-99" - 2 раза. Т.е не группировались.
Т.е не группировались. А можно спросить зачем? Зачем тогда сводную формировать? Ведь если, выполнить Ваше пожелание, возвращаемся к исходной таблице, может есть смысл правильно отсортировать исходную? Непонятно... Ваш вопрос саму суть сводной таблицы убивает вообщем то.
Вообще то сводная таблица не нужна :), но это единственный способ средствами Afalina построить отчет с плавающими колонками. Поле - День варьируется (день месяца может быть один а может 31) . А левая часть просто берется из источника данных.
В любом случае я потом выдираю результаты из сводной таблицы и форматирую согласно шаблона и могу заполнить пустые строчки, но может средствами самой сводной таблицы можно решить(редко пользуюсь ей).
Sub Addrows()
x = 2 'количество пустых строк для вставки
With Worksheets("Лист1").UsedRange
r = .Cells(.Rows.Count, .Columns.Count).Row
'Подсчитали строки
End With
'Подсчитали строки
For i = r To 1 Step -1 'начинаем с последней строки
Cells(i, 1).Select
For ii = 1 To x
Selection.EntireRow.Insert
Next ii
Next i
End Sub
насколько я понимаю - тут переменная "x" не определена!
Нужен дельный совет по Excel`ю.
Опишу ситуацию: есть функции Год, Месяц, День и Дата соотвецтвенно. Задача вытянуть из Дати значения дня, месяца и года использую вышеперечисленные функции. Все это делается, только меня интересует вот что: как работает функция Месяц, особенно важна блок схема. Может кто подкинет идею. Кстати еще есть функция День недели аналогичная к Месяцу може это както прояснит мою проблему.
p.s. я пробовал через цикл ну все варианты перебирать и выводить соотвецтвенные значения, но помоему ето напряжно (12 то вручную не сложно, а вот например 1000...)
Возможно там и цикл не нужен...
Надеюсь что я прояснил постановку задачи. Буду ждать помощи.
andrey_k
01.04.2009, 14:50
Нужен дельный совет по Excel`ю.
Опишу ситуацию: есть функции Год, Месяц, День и Дата соотвецтвенно. Задача вытянуть из Дати значения дня, месяца и года использую вышеперечисленные функции. Все это делается, только меня интересует вот что: как работает функция Месяц, особенно важна блок схема. Может кто подкинет идею. Кстати еще есть функция День недели аналогичная к Месяцу може это както прояснит мою проблему.
p.s. я пробовал через цикл ну все варианты перебирать и выводить соотвецтвенные значения, но помоему ето напряжно (12 то вручную не сложно, а вот например 1000...)
Возможно там и цикл не нужен...
Надеюсь что я прояснил постановку задачи. Буду ждать помощи.
Так Вам нужен пример использования функций работы с датами или алгоритм их работы?
Так Вам нужен пример использования функций работы с датами или алгоритм их работы?
в идеале мне нужна блок-схема.
Привет всем
Проблема: РАНГ ранжирует одинаковые значения соответственно одинаковыми рангами, но последующим значениям присваиваются ранги с учетом количества предыдущих. То есть 1, 2, 2, 4 и т.д. А мне нужно, что бы было 1, 2, 2, 3.
Не подскажите, может в 2007 офисе появилась функция РАНГ с возможностью менять/указывать очередность присвоения ранга? Или - есть какие-то другие электронные таблицы, с возможностью ранжирования в том числе?
Проблему решил, она довольно проста при условии предварительной сортировки самим же Екселом.
Остается вопрос - есть более продвинутые электронные таблицы?
Хочу по результатам вычисления условной формулы изменять цвет ячейки. Как это можно сделать в формуле?
Пояснение: А3: ЕСЛИ (А1<А2; ячейка.А3.ЦветФона = белый; ячейка.А3.ЦветФона = черный)
Что набирать вместо "ячейка.А3.ЦветФона = белый"?
Пример: есть строка в первой ячейке которой должен находится коэффициент-значение на сколько клеточек вперед нужно сдублировать значение которое будет находится в следующей клеточке.
(ячейка А1 - значение "3", вносим в ячейку В1 - "200" срабатывает искомая формула и в ячейке E1 дублируется цифра "200".
poet, я извиняюсь, а ф-ция ЕСЛИ аж никак не работает???
Добавлено через 3 минуты
Как можно перенести значение из одной ячейки в другую с условием?
хм...
Пример: в ячейке А2 есть цифра 1, в ячейке А1 есть "условие" 3. Как получить циферку 1 (из ячейки А2) в ячейку А5 (тоесть через условие перешагнув три ячейки).???
в ячейку А5 написать =A2
но при чем тут ячейка А1?
Добавлено через 5 минут
сколько клеточек вперед
это куда? вправо или вниз?
ячейка А1 - значение "3", вносим в ячейку В1 - "200" срабатывает искомая формула и в ячейке E1 дублируется цифра "200"
в Е1 написать =B1
но при чем тут А1=3?
но при чем тут А1=3?
вот и при том что если я изменю коэфициент 3 на 4 то "200" переместится уже не на третью а на четвертую ячейку (по примеру в F1)
коэфициент 3 на 4 то "200" переместится уже не на третью а на четвертую ячейку
теперь задачу понял... и в каких пределах меняется этот коэффициент?
=ЕСЛИ(СТРОКА()=$A$1;$A$2;"")
или точнее
=ЕСЛИ(СТРОКА()=($A$1+2);$A$2;"")
теперь задачу понял... и в каких пределах меняется этот коэффициент?
на самом деле это будет отсрочка в днях, думаю (надеюсь) до месяца...
...но это только маленькая вершина айсберга((
вопрос мой уже реализован функцией "СМЕЩ", надеюсь услышать что-то свежее или логичней...
Добавлено через 3 минуты
=ЕСЛИ(СТРОКА()=A1;A2;"")
и куда это вставить? ченто непонимать
и куда это вставить? ченто непонимать
в примере с
А1=10
А2=1
А3==ЕСЛИ(СТРОКА()=($A$1+2);$A$2;"")
Добавлено через 59 секунд
Пример: в ячейке А2 есть цифра 1, в ячейке А1 есть "условие" 3. Как получить циферку 1 (из ячейки А2) в ячейку А5 (тоесть через условие перешагнув три ячейки).???
В А3 и скопировать хоть на все 64К строк
=ЕСЛИ(СТРОКА()=($A$1+2);$A$2;"")
По аналогии:
С1=ЕСЛИ(СТОЛБЕЦ()=$A$1+2;$B$1;"")
для второго примера
И снова то да не то... я виноват - не доконца верно сформулировал условие... известен только коэфициент заранее, а клеточка с циферкой не известна. Отталкиваемся от 2-го примера. вся строка - это набор (периодичность) дней и заведомо неизвестно в какой день купят товар (поставят циферку) но хотя ее увидеть через определенный период (коэффициент). а подсветить я ее уже смогу (Условным форматированием)
Что набирать вместо "ячейка.А3.ЦветФона = белый"?
Условное форматирование или conditional formating попробуйте.
Вот как бы свое поставленное задание я выполнил но хотелось бы видеть больше.
Пробую решить теперь от более мелкой более крупную задачу:
необходимо суммы переносить на заданное количество дней минуя выходные и праздничные дни с перенесением числа на следующие послевыходные дни...
Вот некоторые "мучения" по данному вопросу:
http://rs678.rapidshare.com/files/229352755/__________-__________.xls
но оно работает не совсем корректно что видно по "Клиенту 5"
Г-да спецы!
Прошу обратить внимание на похожую тему (http://www.nowa.cc/showthread.php?t=111280)
Там, между прочим, тоже людЯм помощь Ваша нужна! ;(
andrey_k
05.05.2009, 18:06
poet, задачу понял (наконец-то!)
Кинул клич в похожую тему (http://www.nowa.cc/showthread.php?t=6522&highlight=Excel), возможно тамошние спецы помогут.
=ЕСЛИ(ЕНД(ВПР(D1+K;'РабочиеДни'!A:A;1;ЛОЖЬ));ЕСЛИ( ДЕНЬНЕД(D1+K;2)<6;D1+K;ЕСЛИ(И(ДЕНЬНЕД(D1+K;2)=6;НЕ(ЕНД(ВПР(D1+K+1; 'РабочиеДни'!A:A;1;ЛОЖЬ))));D1+K+1;D1+K+8-ДЕНЬНЕД(A10;2)));D1+K)
где D1 - предыдущая дата
K- смещение в рабочих днях
'РабочиеДни'!A:A - ссылка на масив в виде списка рабочих дней
=ЕСЛИ(ЕНД(ВПР(D1+K;'РабочиеДни'!A:A;1;ЛОЖЬ));ЕСЛИ( ДЕНЬНЕД(D1+K;2)<6;D1+K;ЕСЛИ(И(ДЕНЬНЕД(D1+K;2)=6;НЕ(ЕНД(ВПР(D1+K+1; 'РабочиеДни'!A:A;1;ЛОЖЬ))));D1+K+1;D1+K+8-ДЕНЬНЕД(A10;2)));D1+K)
где D1 - предыдущая дата
K- смещение в рабочих днях
'РабочиеДни'!A:A - ссылка на масив в виде списка рабочих дней
ух... ммм... а можно по прилагаемому примеру, а то я что-то непонимать в этой "трехэтажной" формуле...
to AlexeyVik: VBA совсем не знаю - проще намутить еще несколько "служебных" строк но решить формулами.
Добавлено через 1 час 8 минут
andrey_k навел меня на мысль как упростить задачу и использовать существующие рабочие наработки: что если на самом деле на анализе списка дат и флагов
01.01.09 1
02.01.09 0
03.01.09 1
04.01.09 1
05.01.09 0
и т.д.
на отдельном листе создать строкою исключительно даты рабочих дней, а в них уже использовать готовую рабочую формулу с переносом. Тем самым добиваемся результата перенесения числа на заданное количество отступа по ячейкам уже заведомо не беря во внимание логику рабочих дней!
Вот теперь и вопрос. Как написать вольно-протягивающуюся формулку с перебором и подстановкой значений? что-то мне подсказывает на использование функции ВПР, но к сожалению на этом "подсказывания" и заканчиваются :(
poet,
То, что Вам придется вести отдельный справочник выходных дней - это даже не обсуждается.
Я предлагаю следующий вариант. Считать кол-во рабочих дней от фиксированной даты и сравнивать со "смещением в рабочих днях". Если совпало, то это наша ячейка. Я и файлик примерный сваял, но не пойму как его прикрепить.
файлик, как и я делал, прикрепить к любому файловому серверу (рапидшара, депозитфайл, юафолдер) и дать тут только ссылку на него
poet,
_http://ifolder.ru/11981258
Несколько коряво т.к. за минуту сделал, но идею поймете.
andrey_k
06.05.2009, 15:32
А почему Вы господа зациклились на формулах функций екселя?
В данной ситуации проще написать полноценный код на VBA, да не совсем понятно по какому событию надо получить значение в ячейке зависимой от коэффициента.
На самом деле эта функция у меня используется в моем приложении по планированию и учету платежей. Там привязка к каждому рабочему дню, поэтому оригинал выглядит иначе. Могу выложить и весь файл со структурой (лист учета и прогнозирования платежей, лист сводных движений по всем счетам по всем рабочим дням из заданного интервала, CF, баланс и т.п.), но Вам нужен был срочный ответ, поэтому выкладывать не стал (тем более, он у меня с моими данными).
В оригинале у меня нет списка выходных - нет необходимости.
Код на VBA не всегда писать целесообразно: "пуганные" пользователи, формы аналитики в процессе доработки. В итоге тратить время на переписывание кода VBA бывает не эффективно.
poet,
_http://ifolder.ru/11981258
Несколько коряво т.к. за минуту сделал, но идею поймете.
совсем не то, те более если вы зададите праздниками 1, 3, 7 увидите сразу же "грабли", + не то - т.к. суммы идут статическими, а ведь заранее не известно какому дню они будут пренадлежать.
Добавлено через 11 минут
Могу выложить и весь файл со структурой (лист учета и прогнозирования платежей, лист сводных движений по всем счетам по всем рабочим дням из заданного интервала, CF, баланс и т.п.), но Вам нужен был срочный ответ, поэтому выкладывать не стал (тем более, он у меня с моими данными).
В оригинале у меня нет списка выходных - нет необходимости.
очень бы хотелось посмотреть и что-нибудь оттуда слямзить под свои нужды
andrey_k
06.05.2009, 16:29
совсем не то, те более если вы зададите праздниками 1, 3, 7 увидите сразу же "грабли", + не то - т.к. суммы идут статическими, а ведь заранее не известно какому дню они будут пренадлежать.
Добавлено через 11 минут
очень бы хотелось посмотреть и что-нибудь оттуда слямзить под свои нужды
Сейчас выложить не могу (в ближайшие пару дней сделаю), а по сути еще коротко добавлю.
У меня в качестве списка дат используется таблица с платежами. У каждого платежа есть дата; факт наличия такой даты в списке оплат является дополнительным поводом считать этот день рабочим. По умолчанию рабочими считаются все дни с понедельника по пятницу, а суббота и воскресенье проверяются на факт рабочего "выходного" по наличию платежей в эти дни. С другой стороны, в сводном листе по дням указывается день недели, поэтому в нем сразу же будет видно, что какой-то платеж по ошибке поставили в выходной: он появится в своде.
Макросов я не делал: все работает на формулах, которые свободно копируются, поэтому все таблицы расширяются до бесконечности простым копированием предыдущей строки (применяются ВПР и СУММЕСЛИ).
poet,
Грабли убираются внесением еще одного ЕСЛИ.
Какие суммы идут статические?
В той трактовке, в которой Вы ставили задачу в предыдущих постам, решение подходит, т.к. вы вводите число смещения и сумму и в зависимости от количества выходных под нужной датой получаете Вашу сумму.
Уточните плж условия задачи: что мы вводим, какой информацией обладаем и что хотим получить на выходе?
в ближайшие пару дней сделаю
очень, ОЧЕНЬ будемс ждать
Добавлено через 3 минуты
poet,
Грабли убираются внесением еще одного ЕСЛИ.
Какие суммы идут статические?
В той трактовке, в которой Вы ставили задачу в предыдущих постам, решение подходит, т.к. вы вводите число смещения и сумму и в зависимости от количества выходных под нужной датой получаете Вашу сумму.
Уточните плж условия задачи: что мы вводим, какой информацией обладаем и что хотим получить на выходе?
я уже одурел втыканием и перечитыванием толмудов по этому Excelю с выцарапыванием хоть чего-то под себя.
Задача расписана с приведенным примером в постах № 429, 431
В примере и видно что если сумма натыкается на 1 выходной день она перескакивает на слудующую ячейку, а если и следующая идет выходным начинаются различные сельхос-приспособления.
poet,
Осталось еще чуть-чуть и я тожу вкурю Вашу проблему, но пока не догоняю.
Давайте рассмотрим 4 сточку с клиентом 1. У него перенос по дням - 4. Сумма 600 (тоже вносится руками) стоит на 03.01.09.
В результате мы хотим, чтобы сумма 600 появилась через 4 рабочих дня, т.е. 09.01.09?
poet,
Осталось еще чуть-чуть и я тожу вкурю Вашу проблему, но пока не догоняю.
Давайте рассмотрим 4 сточку с клиентом 1. У него перенос по дням - 4. Сумма 600 (тоже вносится руками) стоит на 03.01.09.
В результате мы хотим, чтобы сумма 600 появилась через 4 рабочих дня, т.е. 09.01.09?
все верно - следует учитывать "логику" банковских дней... *с грустью понял что мой "пример" вовсе недоделанный
poet,
Почему Вы не рассматриваете вариант вбивать дату руками, например, A2 -отсрочка, B2 - сумма инвойса, С2 - дата инвойса? (например сумму 600 вбивают не под датой 03.01.09, а рядом в области вноса, но при этом указанную дату тоже заносят)
Все последующие ячейки будут пересчетными, но при этом все реализуемо на уровне формул.
Конечно, нужно определенное внимание со стороны пользователя, чтобы правильно дату вбивали - это некоторый компромисс, зато без VBA и на коленке.
andrey_k
12.05.2009, 16:45
очень, ОЧЕНЬ будемс ждать
poet, мой файлик можно взять здесь http://www.rapidshare.ru/1035499.
Все листы в файле имеют свое назначение.
Применение формулы, которую я давал ранее, Вы найдете на листе "Свод" - так считаются все даты. Если нужна инструкция по работе, сообщу отдельно :-)
У меня такая табличка держала больше 3,5 тыс платежей и пересчитывалась на Duo2 2ГГц за 10-20 секунд, т.е. скорость была аналогичной какой-нибудь СУБД или работе с макросами.
Вам, если Вы хотите автоматически ставить даты со смещением, придется сделать заранее список рабочих дат (для ускорения процесса можно использовать мою заготовку с листа Свод), и выбирать нужные даты оттуда.
Для этого можно с помощью функции ПоискПоз находить позицию текущей даты, потом к ней прибавлять Ваше смещение и с помощью функции ДВССЫЛ формировать ссылку на ячейку с нужной датой. Т.е. все решается фактически двумя функциями без макросов и очень быстро.
Помогите с таким вопросом. Есть файл со Сводной таблицй, когда её формируешь типа:
Строки: Группа товара, товар, дата, Количество
Фильтр: Выбираем 1 определенную группу Х,
и тут самое интересное вмето того, что б показать мне номенлатуру группы Х список отображает все данные. Вопрос как сделать так что б отображались только товары группы Х
andrey_k
14.06.2009, 16:25
Помогите с таким вопросом. Есть файл со Сводной таблицй, когда её формируешь типа:
Строки: Группа товара, товар, дата, Количество
Фильтр: Выбираем 1 определенную группу Х,
и тут самое интересное вмето того, что б показать мне номенлатуру группы Х список отображает все данные. Вопрос как сделать так что б отображались только товары группы Х
Товарищ Tora подсказал верно - примените фильтр по столбцу Группа.
Не понял про макрос специальная вставка, значения.
В Excell 2003 если записать методом тыкания, то получится такое: Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Нету там нигде Range.
Добавлено через 2 минуты
Очень нужный макрос. Поможите написать Вставка - только значения. Что-то у меня выдает ошибку. Уже по-всякому пробовал.
Уважаемы гуру, помогите!
Есть форма накладной в которой есть столбец "примечание", в нем мне надо прописать следующее "Цена первого поставщика <поле такое то>, наценка <поле такое то>" Все надо прописать в одну строчку. как это сделать, чет не соображу. Чтобы был текст и в нем значения из других столбцов подставлялись.
Чтобы был текст и в нем значения из других столбцов подставлялись.
Пример:
="Бла, бла, " & A1 & " еще какой то текст" & B1
Нету там нигде Range.
Range - это диапазон ячеек
Selection - это выделение ячеек (как бы производная Range)
т.е.
Range("A1:A3").Select 'выбраны ячейки А1:А3
Selection.PasteSpecial ..... 'в выбранные ячейки вставляем значения
В принципе эти две строки можно объединить
Range("A1:A3").PasteSpecial .....
Так же в Range (Диапазоне) есть Cells (ячейки), но это тема следующей беседы :)
Уважаемы гуру, помогите!
Есть форма накладной в которой есть столбец "примечание", в нем мне надо прописать следующее "Цена первого поставщика <поле такое то>, наценка <поле такое то>" Все надо прописать в одну строчку. как это сделать, чет не соображу. Чтобы был текст и в нем значения из других столбцов подставлялись.
Можно еще использовать функцию =сцепить():cool:
Не понял про макрос специальная вставка, значения.
В Excell 2003 если записать методом тыкания, то получится такое: Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Нету там нигде Range.
Добавлено через 2 минуты
Очень нужный макрос. Поможите написать Вставка - только значения. Что-то у меня выдает ошибку. Уже по-всякому пробовал.
Excell тебе все правильно напсал. Можно еще вот так сделать:
Sub СпецВставка()
'
' Макрос1 Макрос
' Макрос записан 17.07.2009
'
'
ActiveCell.PasteSpecial Paste:=xlPasteValues
End Sub
Теперь важное замечание. Чтобы этот макрос отработал без ошибок, тебе нужно:
1. Повесить его на горячую клавишу (например Ctrl+T).
2. Выделяешь область, подлежащую копированию.
3. Нажимаешь "копировать" (как угодно: мышкой, Ctrl+C, Ctrl+Insert).
4. Щелкаешь мышкой на ячейку в которую надо вставить копию.
5. Жмешь Ctrl+T.
Если не назначать комбинацию клавиш на макрос, то пока доберешся до пункта выполнить по менюшкам, слетает информация о диапазонах и макрос вылетает с ошибкой, что вполне понятно.
n.a.s.t.y.
23.07.2009, 15:57
Подскажите, пожалуйста, есть необходимость сделать таблицу по задолженностям клиентов с учетом отсрочки. Ума не приложу, как это сделать и с какой стороны подойти. Может, у кого-нибудь есть наработки по данному вопросу или даже готовый шаблон. Был бы очень признателен за любую помощь по данной теме.
сделать таблицу по задолженностям клиентов с учетом отсрочкиЭх, если бы знать от чего отталкиваться, то ведь...
Ума не приложу тоже самое.
Может примерчик в студию или подробности?
Zinovich
30.07.2009, 00:25
Доброго времени суток.
Есть задача, если кто-то сталкивался, подскажите в какую сторону капать. Буду очень признателен. Парю свой мозг уже целый день.
Задача во вложении.
http://pic.ipicture.ru/uploads/090730/70mZdDGJkW.jpg
Zinovich,
видимо от вас хотят чего-то такого
http://pic.ipicture.ru/uploads/090730/PFBtwV5RpP.gif
Это задание на функцию СЦЕПИТЬ. Грубого говоря, берется содержимое первой ячейки, затем разделитель, затем второй ячейки и т. п.
=Символ(10) - это формула, позволяющая вставить перевод строки.
Подскажите пожалуйста, как перевести секунды полученные по формуле =A1/4.25 в ячейке стоит 758,
а мне нужен вид 12 мин 38 сек
В меню настройки смотри "формат"
Подскажите пожалуйста, как перевести секунды полученные по формуле =A1/4.25 в ячейке стоит 758,
а мне нужен вид 12 мин 38 сек
С точки зрения Excel 758 - это число полных суток. Если просто воспользоваться командами формата, как написали в предыдущем посте, то получите 27.01.1902 0:00:00.
Если не хочется переделывать предыдущие вычисления, то проще всего добавить поправочное деление - примерно так:
=A1/(4.25*24*60*60), а затем присвоить этой ячейке формат вида чч:мм
Либо надо смотреть, что поменять в предыдущих ячейках, чтобы на выходе было не 758, а 0,008773148 - это для Excel и есть 12 мин 38 сек
.
Dice2011
29.08.2009, 23:51
поскажите пожалуйста, как сделать в excel,чтобы с каждым днем от значения в ячейке отнимался 1. Смысл таков ячейка называется - дней до заказа. Надо, чтобы значение каждый день убывало... Помогите плз.
хм... ничего не вижу, написано file not foundУпс, действительно... что то клипнет глюканул. Придется так написать.
Пишем в нужной ячейке формулу
=A1-(Сегодня()-B1)
Где A1 - начальное число, a B1 - начальная дата.
Други!
Вот и мне понадобился совсет уважаемого ола :)
http://rapidshare.com/files/277255049/09.rar
Вот, файло... в ём - три листа (rest - остаток, opt - кол-во проданного оптом, rozn - розница)
поля: код товара и кол-во
надо: собрать по коду в текстовых файл
448|50|43|20090905|2845|2845
где первое - код, 2-е - остаток, 3-е - сумма оптовой и розничной продажи, дальше - дата.... остальное - константа
если остаток и сумма проданного "0", то ив файле стоит ноль:
1957|0|8|20090905|2845|2845
Хелп, люди! Голова не варит :((((((((
Chetiki,
Посмотри в этом файле, на листе sum
http://rapidshare.com/files/277300338/09_.rar.html
на листе sum
Мамочка моя дорогая!.. не мудрено, что у меня мозги не дошли до такой формуленции!
У меня есть несколько листов, на каждом из них список (по ФИО). Можно ли настроить автофильтр так, что бы список со ВСЕМИ фамилиями, которые находятся на Листе 1,2,3,4 и т.д. открывался на любом из листов? И при выборе фамилии напр. Иванов переходил именно на тот лист, но котором эта фамилия находится? Возможно ли это? Подскажите плиз :)
andrey_k
10.09.2009, 13:19
У меня есть несколько листов, на каждом из них список (по ФИО). Можно ли настроить автофильтр так, что бы список со ВСЕМИ фамилиями, которые находятся на Листе 1,2,3,4 и т.д. открывался на любом из листов? И при выборе фамилии напр. Иванов переходил именно на тот лист, но котором эта фамилия находится? Возможно ли это? Подскажите плиз :)
Автофильтр работает только на одном листе. Если Вы хотите использовать именно его, то надо будет задать его на каждом листе и каждый раз вручную проходить все листы и искать там своего "Иванова".
Можно иначе - создать отдельный лист, на который скопировать все списки со всех листов с удалением повторяющихся ФИО (как это сделать быстро, могу рассказать). Получите список, где будут все ФИО со всех листов. Затем можно создать в отдельных столбцах этого списка поиски по соответствующему листу (каждому листу соответствует свой столбец). В этих столбцах с помощью поисковых функций (например, ВПР, но лучше СУММЕСЛИ - тогда Вы будете видеть кол-во таких ФИО, или 0, если его там нет) настройте поиск в соответствующем листе (для удобства лучше, наверное, искать по всему столбцу - в поиске указывайте интервал поиска в виде D:D). Для контроля, что в Ваших столбцах учтены все ФИО из листов, можно сделать контрольный подсчет всех ФИО на каждом листе и сравнивать с суммой по столбцу поиска на Вашем сводном листе.
У меня есть несколько листов, на каждом из них список (по ФИО). Можно ли настроить автофильтр так, что бы список со ВСЕМИ фамилиями, которые находятся на Листе 1,2,3,4 и т.д. открывался на любом из листов? И при выборе фамилии напр. Иванов переходил именно на тот лист, но котором эта фамилия находится? Возможно ли это? Подскажите плиз :)
Мысли вслух. Макрос? Отдельный лист с ПанельюПоиска?
Встречный вопрос: Если Ивановы встречаются на нескольких листах, куда переходить?
Если Ивановы уникальны, то надо делать встречную проверку на листе1, 2, 3... чтобы не было повторов...
А так небольшой макрос, который
1. Будет собирать все фамилии из всех листов на лист СВОД
2. Фамилии будут являться гипперссылками, т.е. обеспечивать переход в нужное место.
Далее банальным автофильром на листе СВОД
выбираем всех Ивановых и переходим на нужного.
Все зависит от цели работы, если там три человека и нужно на 1 день, то ручками, а если это корпоративное начинание, то лучше сделать основательно.
P.S. если мне не изменяет память, в MSExcel 2003 в автофильтр берется до 1000 значений. Каков объем?
Ух ты, спасибо за ответы)
У меня 24 листа и на каждом в среднем по 30 фамилий с инициалами. Так что проблем с повторами думаю не будет. Только теперь сообразить бы как это СВОД сделать...):)
andrey_k
15.09.2009, 14:14
...
P.S. если мне не изменяет память, в MSExcel 2003 в автофильтр берется до 1000 значений....
1000 значений показывается в выпадающем списке автофильтра, а фактически берется все.
Чтобы отфильтровать остальные, можно использовать фильтр по подстроке ("содержит.." или "начинается с ...")
Можно ещё сделать доп. поле по первой букве фамилии, например, и сделать доп.фильтр по нему. Тогда точно все ФИО будут в "главном" фильтре.
Здравствуйте! Подскажите пожалуйста люди добрые! Как быть:
таблица с текстом и числовыми значениями. В одном столбце ключевые значения - при наличии числа строку нужно оставить, а при отсутствии значения СТРОКУ ВСЮ удалить. Как это можно сделать? Вручную можно, но строк 18000 :( Уже Глаза на выкате и красные за день:( Пожалуйста!!!!!!!!
при наличии числа строку нужно оставить, а при отсутствии значения
а фильтрация не помогает? придумать хитрое условие и удалить все лишние?
а сортировка? и удалить всё, что будет внизу таблицы...
vBulletin® v3.8.9, Copyright ©2000-2025, vBulletin Solutions, Inc.