|
|
Вверх #322 |
НовенькийРегистрация: 29.10.2012
|
404
Использоваться будет для сравнения.
Дано: 3 файла представленные разными постредниками, в них таблицы... Названия стольбцов в таблицах одинаковые: Название_компании/Номер_страны/Номер_компании/Цена , а вот данные представлены в различных форматах... Задача: Сравнить цены предлагаемые разными посредниками на услуги той-же компании. Я собыраюсь перекинуть таблицы на разные листы одного файла, найти соответствия по двум столбцам Номер_страны/Номер_компании и сравнить Цены. Вот только для этого нужно привести данные к одинаковому виду... Тут то и встала необходимость изменить записи в ячейках с вот такого вида: 23,52-59,18,64,37 на такой: 23,52,53,54,55,56,57,58,59,18,64,37. Как это сделать я не знаю... Менять нужно обязательно, потому-что если не соответствует одна из цифр то уже неверно, либо она может стоять отдельно... Заранее спасибо! |
|
|
|
|
|
Вверх #323 |
УмудрённыйРегистрация: 04.08.2003
|
aleksashka7011
А, "23,52-59,18,64,37" — это перечисление "номеров компаний"? Ну, можно с помощью такой пользовательской функции-макроса: Код:
Function FORMAT_CN(s)
FORMAT_CN = ""
a = Split(s, ",")
For i = 0 To UBound(a)
If InStr(a(i), "-") Then
b = Split(a(i), "-", 3)
For x = b(0) To b(1)
FORMAT_CN = FORMAT_CN & x & ","
Next x
Else
FORMAT_CN = FORMAT_CN & a(i) & ","
End If
Next i
В Excel выбираете меню Сервис — Макрос — Редактор Visual Basic — Insert — Module, появится новый лист "VBAProject (<ваш файл Excel>)" — Modules — Module1, вставляете туда этот код; после чего в ячейках Excel можете использовать функцию =FORMAT_CN(<ссылка на ячейку>). Последний раз редактировалось 404; 31.10.2012 в 06:16. |
|
|
|
|
|
Вверх #324 |
НовенькийРегистрация: 29.10.2012
|
404
Да это перечисление номеров компаний...
Спасибо всё работает! И ещё вопрос: а как сделать так чтобы если ячейка с "номером компании" пустая то результирующая ячейка тоже осталась пустой, а то в ней остаётся вот такая надпись: "#ЗНАЧ!" |
|
|
|
|
|
Вверх #325 |
УмудрённыйРегистрация: 04.08.2003
|
Цитата
(aleksashka7011) »
как сделать так чтобы если ячейка с "номером компании" пустая то результирующая ячейка тоже осталась пустой, а то в ней остаётся "#ЗНАЧ!"
Либо проверять, что ячейка непустая: Код:
Function FORMAT_CN(s)
FORMAT_CN = ""
If Not s = "" Then
a = Split(s, ",")
For i = 0 To UBound(a)
If InStr(a(i), "-") Then
b = Split(a(i), "-", 3)
For x = b(0) To b(1)
FORMAT_CN = FORMAT_CN & x & ","
Next x
Else
FORMAT_CN = FORMAT_CN & a(i) & ","
End If
Next i
P.S. Про "создание цифрового сертификата", чтобы Excel вас всякий раз при открытии файла не предупреждал про макросы, вы сами в интернете почитайте. Последний раз редактировалось 404; 31.10.2012 в 06:35. |
|
|
|
|
|
Вверх #328 |
УмудрённыйРегистрация: 04.08.2003
|
Цитата
(oleg126) »
Вы внесли на счет в банке 7000 руб. под 14 % годовых. Сколько рублей будет на Вашем счете через 7 лет? Ответ должен выйти 18546 но вот как это получить не пойму
|
|
|
|
|
|
Вверх #329 |
НовенькийРегистрация: 22.11.2012
|
404 а какой функцией вы это делали? БС?
ПРосто я решил задачи а 5 штук все таки не сходятся с ответом! 1.Вы внесли на счет в банке 7000 руб. под 14 % годовых. Сколько рублей будет на Вашем счете через 7 лет? Ответ: 18546 3.У Вас на депозите 3500 руб., вложенных под 16 % годовых. Сколько времени понадобится, чтобы сумма возросла до 21000 руб.? Ответ: 135,2759 4.У Вашего клиента на депозите 3629 руб., вложенных под 1,1 % ежемесячно. Счет открыт 12 месяцев тому назад. Каков первоначальный размер вклада? Ответ: 3,183 7.У Вас на счете уже 7500 руб. В конце каждого месяца Вы до-бавляете на счет по 300 руб. Сколько денег накопится на счете че-рез 10 лет при 0,7 % за месяц? Ответ: 73447,63 10. Вы инвестировали в строительство бензозаправочной стан-ции 79000 руб. и за следующие четыре года получили прибыль в раз-мерах 19000, 24500, 33000, 19500 руб. соответственно. Рассчитайте величину чис-той приведенной стоимости инвестиции при годовой ставке 4 %. Ответ: 7,622 Вобщем помогите пожалуйста, а то уже всю голову сломал, никак не выходит по ответам что бы все получилось( Буду очень признателен за помощь! |
|
|
|
|
|
Вверх #330 |
УмудрённыйРегистрация: 04.08.2003
|
Цитата
(oleg126) »
а какой функцией вы это делали?
Ну логарифм ещё понадобится. Это же простые задачи:1) 7000 * 1.14^7 = 17516 руб. 3) 3500 * 1.16^t = 21000; следовательно t = LOG(21000/3500, 1.16) = 12.0722 лет, или LOG(21000/3500, 1.16) *12 = 144.867 месяцев 4) x * 1.011^12 = 3629; следовательно x = 3962/(1.011^12) = 3475 (P.S. Заявленный ответ 3,183 явно абсурден.) Добавлено через 1 час 20 минут 7) Тут получается степенной ряд: (...((7500*1.007 + 300)*1.007 + 300)*1.007 + ...)*1.007 + 300 = = 7500*1.007^120 + 300 * Cумма(1.007^n, n = 0..119). В итоге ваша формула будет выглядеть так: {=7500*1.007^120 + 300*СУММ(1.007^(СТРОКА(A1:A120)-1))} Как вводить "формулу диапазона": набираете её в ячейке без фигурных скобок в начале и конце, и нажимаете Ctrl + Shift + Enter. Туплю, есть же простая формула: Cумма(x^n, n = 0..N–1) = (x^N – 1)/(x – 1). Поэтому ваша итоговая формула: =7500*1.007^120 + 300*(1.007^120 - 1)/(1.007 - 1) Результат: 73447.63 — сходится. 10) Не знаю перевод с японского на русский термина "чистая приведенная стоимость инвестиции", искать лень. Последний раз редактировалось 404; 23.11.2012 в 06:42. |
|
|
|
|
|
Вверх #332 |
НовенькийРегистрация: 29.10.2012
|
Таблица соответствия
Добрый день! Очень нужна ваша помощь… Есть файл состоящий из 3х листов на каждом из листов таблица. В приложении выкладываю пример. Получилось глуповато, но сам документ выложить не могу, он для внутреннего пользования.
Опишу смысл этих таблиц: Есть три разные компании, которые поставляют фрукты. Данные в этих таблицах представлены в немного разных видах. Наиболее совпадающими столбцами являются «КОД» и «НОМЕР». Нужно составить таблицу соответствия, чтобы все три таблицы были на одном листе и одинаковые сорта фруктов стояли в таблице на одной и той-же строке. Плюс еще нужно выписать те данные, где цена меньше. В примере во вкладке "ИТОГ" сделал вручную то, что необходимо получить... Оригинальные таблицы содержат порядка 800 строк... Вся загвоздка в том что столбцы «НОМЕР» не точно совпадают в разных таблицах Есть еще такой момент: если, допустим, поступают фрукты с номером которого нет в указанных тогда «ЦЕНА» указывается из той строки в которой ячейка «НОМЕР» пустая. Замучился уже голову ломать над этим вопросом… |
|
|
|
|
|
Вверх #333 |
УмудрённыйРегистрация: 04.08.2003
|
Цитата
(aleksashka7011) »
Нужно составить таблицу соответствия, чтобы… одинаковые сорта фруктов стояли на одной и той-же строке
Конечная задача какая? Как я понимаю: в магазин поступает товар с кодом K и номером N (одно число?). Нужно выбрать для него минимальную розничную цену, исходя из данных на листах Компания1..3? Если так, для этого не нужна "Таблица соответствия"; а нужна собственно функция, которая берёт номер и код, просматривает листы "Компания 1..3" и выдаёт минимальную цену. |
|
|
|
|
|
Вверх #334 |
НовенькийРегистрация: 29.10.2012
|
По идее одной строке из листа «Компания 1» должна соответствовать только одна строка из листов «Компания 2» и «Компания 3». Либо ни одной строки. Можно ли этого добиться?
А вот такой случай. Есть две строки: КОД НОМЕР 45 20 45 70, 35, 320, 700 Будут ли они считаться одинаковыми? Цитата
Конечная задача какая?
Как я понимаю: в магазин поступает товар с кодом K и номером N (одно число?). Нужно выбрать для него минимальную розничную цену, исходя из данных на листах Компания1..3? Если так, для этого не нужна "Таблица соответствия"; а нужна собственно функция, которая берёт номер и код, просматривает листы "Компания 1..3" и выдаёт минимальную цену. |
|
|
|
|
|
Вверх #335 |
УмудрённыйРегистрация: 04.08.2003
|
Цитата
(aleksashka7011) »
Каким образом можно реализовать
Код:
Function BELONG(ByVal x As Integer, s As String)
BELONG = False
a = Split(Replace(s, ";", ","), ",")
For i = 0 To UBound(a)
If InStr(a(i), "-") Then
b = Split(a(i), "-", 3)
BELONG = x >= b(0) And x <= b(1)
Else
BELONG = x = a(i)
End If
If BELONG Then Exit For
Next i
End Function
Последний раз редактировалось 404; 26.11.2012 в 09:54. |
|
|
|
|
|
Вверх #336 |
НачинающийРегистрация: 02.04.2012
|
Объясните, почему при выделении любой ячейки столбца M виснет программа? Что тогда делать? Пожалуйста, срочно!
Пока ввела дополнительный столбец, работаю так, но основной проблемы это не решает. Последний раз редактировалось melnika; 29.11.2012 в 20:09. |
|
|
|
|
|
Вверх #337 |
УмудрённыйРегистрация: 04.08.2003
|
Цитата
(melnika) »
Что тогда делать?
|
|
|
|
|
|
Вверх #339 |
УмудрённыйРегистрация: 04.08.2003
|
melnika
Есть ли в формулах циклические ссылки? Есть ли какие-то особо ресуроёмкие формулы (многократный просмотр больших диапазонов и т. п.)? Установлены ли какие-то программы, работающие с буфером обмена: PuntoSwitcher, словари, переводчики и т. п. Включена ли защита листа? Включён ли ScrollLock? Наконец, можно банально попробовать переустановить MS Office… |
|
|
|
|
|
Вверх #340 |
НовенькийРегистрация: 29.10.2012
|
Цитата
Дальше надо просмотреть лист на предмет совпадения кодов и "принадлежности" номеров и найти номер строки, в которой стоит минимальная цена. Разберётесь дальше? Справку по VBA используйте.
|
|
|
|