Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Ексел: филтриране по брой цифри зад десетичната запетая

Featured Replies

Здравейте,

Имам масив от данни за време в милисекунди с близо 140 000 стойности. Семпъл рейта на това време в момента е 10ms, a на мен ми трябват данните през интервал 100ms (първата картинка). Някаква идея как да го постигна? Опитах със sampling задавайки period, но се оказа, че данните не са разпределени равномерно (втората картинка, колона Е), сиреч между две стойности с интервал 100ms няма равен брой междинни стойности, както първоначално очаквах. 

image.thumb.png.de890b06bb6e530c958774c15df7e11b.png  image.thumb.png.81aa947a32b5bab67db0823e8835c13b.png

Без значение какво означават числата - може да ползваш Закръгляване на число до желания брой цифри след десетичния знак“!

  • Автор

Направих следното:

image.png.7124f754e92efd6b7e11b80fc00703b4.png 

 

където за D  ползвам функцията =ROUND(A1,2), а за Е =ROUND(A1,1)=A1

Този подход обаче не работи в следната ситуация:

image.png.cfe763dc090bf12ba3f8aaa802dd2c13.png

Сиреч там където данните не са на кръгла десета резултата е липсваща стойност. Как за всяка десета да се взима само най-близката стойност, а останалите да се елиминират? Например измежду 1518.279/1518.299/1518.319 да се закръгля и взима предивид само най-близката до 1518.3, като това да е валидно за всички останали данни. 

преди 31 минути, juslen написа:

Направих следното:

където за D  ползвам функцията =ROUND(A1,2), а за Е =ROUND(A1,1)=A1

Този подход обаче не работи в следната ситуация:

Сиреч там където данните не са на кръгла десета резултата е липсваща стойност. Как за всяка десета да се взима само най-близката стойност, а останалите да се елиминират? Например измежду 1518.279/1518.299/1518.319 да се закръгля и взима предивид само най-близката до 1518.3, като това да е валидно за всички останали данни. 

Пич - имаш много странен начин на обясняване на проблема. А чакаш решение!
Има един принцип - „За да получите нужните отговори, трябва да умеете да задавате правилните въпроси!“

Питаш за „електронна таблица“ (Excel и подобни), а показваш скрийншотове! Откъде да знаем - какви формули има в клетките?

Да - мога да „сейфна“ картинката, да я OCR-вам, да я вкарам в някаква таблица и да проиграя нещата. Все пак - последните 30 години, обработката на електронни таблици заема около 30% от времето ми. Ама ... ме мързи бе!

преди 47 минути, juslen написа:

където за D  ползвам функцията =ROUND(A1,2), а за Е =ROUND(A1,1)=A1

Точно така. Сравняваш ги, ако приближенията са равни, значи зад еди коя си позиция след десетичната запетая няма нищо.

преди 10 минути, juslen написа:

Мой пропуск. Ето я таблицата:

https://drive.google.com/file/d/1zyDZ76W25A2JqY3dxP6YM-2UJhHe2Ztm/view?usp=sharing

Thanks! Това е друго!

Така - да уточним „очевидните неща“ - колоните са A, B, C, D и F, редовете са 137 496.
В клетки A, B и C има стойности, които не е ясно защо са такива - откъде „идват“!
В D,  ползваш функцията „=ROUND(A1,2)“ - закръгляш до втория знак, а в Е „=ROUND(A1,1)=A1“ - сравняваш оригинала от А с закръглена стойност, до ПЪРВИЯ знак! Затова - когато в А имаш стойност с 3 цифри след десетичната запетая - получаваш „FALSE“.

Разбирам, че искаш да получиш стойности в D - при стъпка в А = 0,01.

  • Автор

Предисторията на файла е, че това са живи данни от промяната на температурата на дизелов двигател измерена в колектора, непосредствено преди турбото. Данните са предоставени от клиент, съответно нямам поглед над записващата апаратура, какви особености има и от какво се определя стъпката на запис. Автомобила е закачен на стенд и според определена програма натоварването на двигателя се мени. Колона А е времето в секунди (семпъл рейта на записа, който в случая е с размерност 0.01сек), колона B e измерената температура в градуси Целзий, а колона C e скоростта на автомобила в км/ч. Резултата, който се опитвам да постигна е така да преформатирам данните в колона А, че да имам данните през 0.1сек, а не през 0.01сек както е в момента. С други думи, искам да изолирам само данните на кръгла десета от секундата. 

Вметвам, че ексела ми не е на високо ниво и съм по-скоро любител ползвател. Горните идеи за закръгления в търсене на желания резултат ги взаимствах от аналогични казуси открити в нета. 

Идеята на промените, които направих в колона D бе първо да закръгля всички стойности до втория знак, тъй като в колона А имаше и такива с размерност до третия знак. В колона Е опитах да изолирам данните закръглени до първия знак с идеята да филтрирам само тези данни впоследствие и да получа резултата, който ми трябва. Уви, обаче не на всякъде в суровите данни от колона А има стойности закръглени до точна десета. От друга страна опитах да ползвам и функцията sampling с идеята да задам равен период между N на брой стойности и да изолирам например всяка N-та. В случая обаче данните не са разпределени равномерно - понякога между две десети има 7 междинни стойности, друг път 8, трети път 9. 

Не знам дали заданието стана ясно.

Въпрос:

image.png.4c5a06fa85a10ed093ef1dfeaaf3af68.png

 Как да филтирам данните така че в колона F да получавам резултат True за стойностите обозначени в жълто на картинката (сиреч най-близко закръглените до един знак след дестичната запетая)? 

  • Автор

Привет отново, мисля че казуса е разрешен:

В колона Е поставих =ROUNDDOWN(A1,1), а в колона F =IF(E2<>E1,"TRUE","FALSE")

 

Capture.JPG

Capture1.JPG

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    32%
    Дарени 315 € от нужните 1 000 €

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.