Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.

Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz

  Gelişmiş Arama
insanın içinde varsa, commodore.gen.tr açığa çıkarır bunu.. bir nevi retro olaylarının dolunayıyız.(Arda)
commodore.gen.trGenel KategoriGenel SohbetExcel'de veya uygun bir program için bir yardım. (Aylak kaldım :) )
Sayfa: [1]   Aşağı git
Yazdır
Gönderen Konu: Excel'de veya uygun bir program için bir yardım. (Aylak kaldım :) )  (Okunma Sayısı 307 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
sbaslar
Üye
***
Mesaj Sayısı: 147



Üyelik Bilgileri
« : Nisan 20, 2021, 09:15:32 ÖÖ »

  Selamlar .   Excel'de şu hesaplamayı yapması için uygun formül  tertiplemesini  araştırdım ama bir sonuca ulaşamadım.  Nasıl bir şey olduğunu anlatmak için resim atıyorum. Kısaca  birbirinden bağımsız 3 girdi sonucunda formüllere yazılacak referans değerlerine göre bir sonuç verecek.   Örnek olarak girilen bilgiler ;Kız çocuğu için  , 1 yaşında  1 aylık . boy :71.2 . Bunları  girdikten  sonra, o yaşa ait formüle yazdığım  referans aralıklarına göre ortalamanın altı normal veya ortalama üstü gibi  hesaplama yapmasını istiyorum. Referans aralıkları  çok fazla 15 yaşına kadar yazsam 190’a yakın, bir o  kadar da erkek çocuk için referans aralığı var  . İnternette bunlarla ilgili hesaplama sayfaları oldukça fazla. Örnek bir sayfa da paylaşıyorum. https://ilkadimlarim.com/ideal-boy-ve-kilo-hesaplama  Kilo değerleri olmayacak. Sadece boy önemli benim için .  Yüzdelik değer de vermesine gerek yok  “Persentil Değeri Yaşıtlarına Göre Standart Değerin Üzerindedir”  gibi sonuçlar vermesi  yeterli.  
Bunu bir şekilde kendim yapmak istiyorum.  Grafik  olarak bir şey olmasına gerek yok . Hesaplama yapsın yeter.  Bu konuda görüş ve önerilerinizi istiyorum.   Uğraştırıcı olduğunu biliyorum ama bunun için program yazılırsa  onunla da uğraşmak isterim. Yapamazsam öğrendiklerim  kar kalır.  Karizmatik  Bİr çıkış noktası verirseniz gerisini halletmeye çalışacağım.  Şimdiden teşekkürler.  Kahkaha



* percentil.jpg (100.93 KB, 480x640 - Görüntüleme: 34 kez.)
Logged
metaone
Üye
***
Mesaj Sayısı: 131



Üyelik Bilgileri
« Yanıtla #1 : Nisan 20, 2021, 09:56:32 ÖÖ »

Yapmak istediğinizi öncelikle birkaç adımda yaparak mantığını anlayabilirsiniz, zira hedefinize birkaç adımda ulaşmanız daha kolay olabilir sizin için. Örnek vermeye çalışırsam; elinizde bir tablo var ve buradaki bir takım değerlerin ortalamasına göre sınıflandırmak (A,B,C vs) ve ortalama değerleri de aralıklarına göre renklendirmek istiyorsunuz. Sağa doğru (tabloya göre değişir tabi, ortalamaları tablonun sağına doğru aldığınızı kabul edelim) önce ortalama değerini "=average()" formülüyle alıp, sonra bir sonraki kolonda bu değerlerin aralıklarına göre sınıflandırma (0-25 arası A, 25-50 arası B vs), bir sonraki kolonda da çıkan A, B ... değerlerine göre o hücrenin rengini verebilirsiniz. Bunu bir kez yaptıktan sonra, tabloyu daha derli toplu hale getirmek için ya aradaki adımların görünmeyecek olan kolonlarını saklarsınız, ya da bu komutları içi içe yazıp tek seferde sonuca ulaşırsınız. Ya da sizin için sakıncası yoksa kalabilir tabi
Logged

Commodore 64 ve 64C, 1541-II, 1540, SD2IEC, PiZero1541, FCIII, JiffyDOS
Amiga 1200, ACA1233n 26 MHz 128MB, GOTEK Floppy, 16Gb CF HD, PCMCIA CF
Amiga 500 1MB chipRAM, GOTEK Floppy, Pi2HDMI, Reset Boot Selector, 1.3/2.04 ROM swithcer
Sinclair Spectrum 48K, DivMMC Pro
sbaslar
Üye
***
Mesaj Sayısı: 147



Üyelik Bilgileri
« Yanıtla #2 : Nisan 21, 2021, 07:54:02 ÖÖ »

Teşekkür ederim. Bu konuda denemeler yapacağım. Peki bunula ilgili bir programı basıc dilinde yazmak istesem bilgisayar için  ne dersiniz ?
Logged
sertacarslan
Üye
***
Mesaj Sayısı: 107



Üyelik Bilgileri
« Yanıtla #3 : Nisan 22, 2021, 11:17:59 ÖÖ »

Ne yapmak istediğinizi biraz daha detaylı anlatırsanız belki yardımcı olabiliriz.
Formülle pratik olmayacaksa fonksiyon yazarak yada makroyla da çözülebilir. Önce ihtiyacı anlamak lazım.
Logged

Sinclair ZX Spectrum 128k +2 -> PC
wizofwor
Genel Yönetici
*****
Mesaj Sayısı: 4.421


Gosub ile gidilen yerden goto ile dönen adam


Üyelik Bilgileri WWW
« Yanıtla #4 : Nisan 22, 2021, 17:26:10 ÖS »

Persentil grafiklerinin bir fonksiyona bağlı olarak hesaplanarak çizildiğine emin misiniz? Biraz araştırdım ama pek bir bilgiye ulaşamadım. Bu veriler daha çok istatiksel kayıtlara dayanıyor gibi. Öyle ise tek çözüm veri tablosunu olduğu girip vlookup ile değer çekmek. 190 adet referans aralığının Excel için bir sorun olacağını zannetmiyorum.

Sorun veri girişi ise aşağıdaki linklerde hazır referans verileri var.
CDC
https://www.cdc.gov/growthcharts/percentile_data_files.htm
WHO
https://www.who.int/childgrowth/standards/w_f_a_tables_p_girls/en/
« Son Düzenleme: Nisan 22, 2021, 17:28:21 ÖS Gönderen: wizofwor » Logged

NoStres
Deneyimli
*****
Mesaj Sayısı: 630


One Love, One Heart, One Destiny


Üyelik Bilgileri WWW
« Yanıtla #5 : Nisan 22, 2021, 18:04:41 ÖS »

@sbaslar Selam,

Javascript ile bir kod yazdım; kodda sadece %3'e normal sonuç veren yeni doğan sorgulaması yaptırdım, tablo eğrisine göre %3 ve %97 aralıkları farklı olduğu için direk katsayı belirlenemiyor ciddi bir formül yazılması gerek veya if else'leri kopyalayıp diğer sorgulamaları net olarak yapabilirsin.

Kolay gelsin.

Boy referansı aldığım site : http://www.mehmetakifersoybelediye.com/bilgi-bankasi/genel/persentil-egrisi/erkek-cocuklar-icin-persentil-tablosu/

Kodları Online çalıştırabileceğin bir site : https://www.w3schools.com/js/tryit.asp?filename=tryjs_intro_inner_html

Hesapla.html kodları:
Kod:
<html>
<body>
<script>
function myFunction() {
document.getElementById("sonuc").innerHTML = "Sonuç : ?";
var yasst = document.getElementById("yas").options.selectedIndex;
var boy = document.getElementById("boy").value;
var yas = Number(yasst);
                if (yas == 0) {
if (boy >= 47.35 && boy <= 48.40) {
document.getElementById("sonuc").innerHTML = "Sonuç : Normal";
}
                if (boy <= 47.35){
document.getElementById("sonuc").innerHTML = "Sonuç : Boyu kısa";
}
                if (boy >= 48.40) {
document.getElementById("sonuc").innerHTML = "Sonuç : Boyu uzun";
}             
}
}
</script>

<h2>ERKEK ÇOCUKLAR İÇİN PERSENTİL TABLOSU</h2>
<br>
<h>Boy : </h><input type="text" id="boy"><h> Örnek : 47.4 </h>
<br><br>
<h>Yaş : </h><select id="yas">
<option>Doğum</option>
<option>3 Ay</option>
<option>6 Ay</option>
<option>9 Ay</option>
<option>12 Ay</option>
<option>15 Ay</option>
<option>18 Ay</option>
<option>2 Yaş</option>
<option>2,5 Yaş</option>
<option>3 Yaş</option>
<option>3,5 Yaş</option>
<option>4 Yaş</option>
<option>4,5 Yaş</option>
<option>5 Yaş</option>
<option>5,5 Yaş</option>
<option>6 Yaş</option>
<option>6,5 Yaş</option>
<option>7 Yaş</option>
<option>10 Yaş</option>
<option>14 Yaş</option>
<option>17 Yaş</option>
</select>
<br><br>
<button type="button"onclick="myFunction()">Hesapla</button>
<h3 id="sonuc">Sonuç : ?</h3>
</body>
</html>

Not : Tap boşluğu yüzünden siteye post ederken çalışmayan kodları düzenledim.
« Son Düzenleme: Nisan 23, 2021, 18:14:31 ÖS Gönderen: NoStres » Logged

NoStres
Deneyimli
*****
Mesaj Sayısı: 630


One Love, One Heart, One Destiny


Üyelik Bilgileri WWW
« Yanıtla #6 : Nisan 22, 2021, 18:15:27 ÖS »

Kodlar arasındaki "&nbsp;" girdileri neden oluyor bilmiyorum ben eklemedim, scriptin çalışması için onları silmeniz gerek ve alt satıra geçmiş yerleri düzeltin çalışır...
Logged

sbaslar
Üye
***
Mesaj Sayısı: 147



Üyelik Bilgileri
« Yanıtla #7 : Nisan 23, 2021, 12:40:57 ÖS »

Persentil grafiklerinin bir fonksiyona bağlı olarak hesaplanarak çizildiğine emin misiniz? Biraz araştırdım ama pek bir bilgiye ulaşamadım. Bu veriler daha çok istatiksel kayıtlara dayanıyor gibi. Öyle ise tek çözüm veri tablosunu olduğu girip vlookup ile değer çekmek. 190 adet referans aralığının Excel için bir sorun olacağını zannetmiyorum.

Sorun veri girişi ise aşağıdaki linklerde hazır referans verileri var.
CDC
https://www.cdc.gov/growthcharts/percentile_data_files.htm
WHO
https://www.who.int/childgrowth/standards/w_f_a_tables_p_girls/en/
Percentil grafiklerinin nasıl çizildiğini tam olarak ben de bilmiyorum. Ama grafik de işin içine girerse çok karışık olur diye düşünüyorum. Benim istediğim sadece önceden belirlenmiş referans değerlerine göre bir hesaplama yaptırmak . Aslında bunu tabii ki kitabı açıp yaşına göre (daha doğrusu ;kaç aylık olduğuna göre) belirlenen değerlere göre karşılığını bulup söylemek çok kolay hocam . Mesela paylaştığım kitaptan bir alıntı var. Oradaki değerlere göre benim kızım şu an diyelim bir yaşında ve bir aylık ve boyu da 71cm olsun. Hemen karşılığındaki değerlere bakıyoruz 70.9 a yakın. Yani yukarıda 5p ye denk geliyor. Demek oluyor ki çocuğum evet ,boyu sağlıklı ,ama diğer 1 yaş 1 aylık tüm bebeklerin %95 inden kısa %5 inden ise uzun. buradaki “p ” yani percentil kelimesi sadece bir tabir. Yani hesaplamaya giren bir şey değil. Sonuçta benim istediğim girilen değere göre 0-15p arasına denk geliyorsa kilosu “yaşıtlarına göre kısa”.  15-75p arasına denk geliyorsa “ tam ortalama”.   75p den yüksek ise” yaşıtlarına göre uzun boylu” gibi cevaplar almak Çok yapmak istediğim ve iş yerinde faal olarak kullanmak istediğim biraz keyfi bir iş.Aslında 0yaş 0 ay yani (yeni doğan) ve 0 yaş 1 ay iki satır için bir Excel şablonu veya basit bir program olsa gerisini getireceğim. 


* percentil.jpg (128.82 KB, 480x640 - Görüntüleme: 1 kez.)
« Son Düzenleme: Nisan 23, 2021, 12:46:56 ÖS Gönderen: sbaslar » Logged
sbaslar
Üye
***
Mesaj Sayısı: 147



Üyelik Bilgileri
« Yanıtla #8 : Nisan 23, 2021, 13:07:39 ÖS »

Ne yapmak istediğinizi biraz daha detaylı anlatırsanız belki yardımcı olabiliriz.
Formülle pratik olmayacaksa fonksiyon yazarak yada makroyla da çözülebilir. Önce ihtiyacı anlamak lazım.
Hocam bir sayfa paylaşıyorum.   Şimdilik buradaki sadece  ilk iki satır için bir hesaplama yaptırmak istiyorum.   Diyelim yeni doğan kız çocuğu boyu 47 cm. tabloya göre  47 cm değerleri   47,2 den küçük.  15P den daha küçük sonuçta ortalamnın altında bir boydur .  Ben yaş olarak  0 değerini (0 aylık) A1 hücresine Boy 47 cm değerini  de  A2  hücresine girdiğimde  belirlediğim değer aralıklarına göre sonucu   A3  hücresinde verecek. Mesela, diyecek ki “ortalamın altında”   Sonra  0  yaş 1 aylık başka bir çocuk geldi.  Onun da boyu 56 cm olsun. Gördüğünüz gibi  tabloya göre 75P nin üzerinde yani yaşıtlarına göre uzun boylu demek.  Ama  gene 01(0 yaş 1 aylık) değerini  A1 hücresine gireceğim (burada bilgisayar  artık 1 aylık bebeğe göre hesaplama yapacak ) sonra boyunu 56 cm olarak A2 hücresine gireceğim  ve gene A3 hücresinde sonucu verecek  “Yaşıtlarına göre uzun boylu “diyebilir mesela.  Kısaca böyle sadece ilk iki satır  bir şeyler olsa gerisini getireceğim .


*  (33.61 KB, 682x373 - Görüntüleme: 1 kez.)
Logged
sbaslar
Üye
***
Mesaj Sayısı: 147



Üyelik Bilgileri
« Yanıtla #9 : Nisan 23, 2021, 13:13:05 ÖS »

@sbaslar Selam,

Javascript ile bir kod yazdım; kodda sadece %3'e normal sonuç veren yeni doğan sorgulaması yaptırdım, tablo eğrisine göre %3 ve %97 aralıkları farklı olduğu için direk katsayı belirlenemiyor ciddi bir formül yazılması gerek veya if else'leri kopyalayıp diğer sorgulamaları net olarak yapabilirsin.

Kolay gelsin.

Boy referansı aldığım site : http://www.mehmetakifersoybelediye.com/bilgi-bankasi/genel/persentil-egrisi/erkek-cocuklar-icin-persentil-tablosu/

Kodları Online çalıştırabileceğin bir site : https://www.w3schools.com/js/tryit.asp?filename=tryjs_intro_inner_html

Hesapla.html kodları:
Kod:
<html>
<body>
<script>
function myFunction() {
document.getElementById("sonuc").innerHTML = "Sonuç : ?";
var yasst = document.getElementById("yas").options.selectedIndex;
&nbsp; &nbsp; var boy = document.getElementById("boy").value;
var yas = Number(yasst);
&nbsp; &nbsp; if (yas == 0) {
if (boy >= 47.35 && boy <= 48.40) {
document.getElementById("sonuc").innerHTML = "Sonuç : Normal";
}
&nbsp; &nbsp; &nbsp; &nbsp; if (boy <= 47.35){
document.getElementById("sonuc").innerHTML = "Sonuç : Boyu

kısa";
}
&nbsp; &nbsp; &nbsp; &nbsp; if (boy >= 48.40) {
document.getElementById("sonuc").innerHTML = "Sonuç : Boyu

uzun";
}
}
}
</script>

<h2>ERKEK ÇOCUKLAR İÇİN PERSENTİL TABLOSU</h2>
<br>
<h>Boy : </h><input type="text" id="boy"><h> Örnek : 47.4 </h>
<br><br>
<h>Yaş : </h><select id="yas">
&nbsp; <option>Doğum</option>
&nbsp; <option>3 Ay</option>
&nbsp; <option>6 Ay</option>
&nbsp; <option>9 Ay</option>
&nbsp; <option>12 Ay</option>
&nbsp; <option>15 Ay</option>
&nbsp; <option>18 Ay</option>
&nbsp; <option>2 Yaş</option>
&nbsp; <option>2,5 Yaş</option>
&nbsp; <option>3 Yaş</option>
&nbsp; <option>3,5 Yaş</option>
&nbsp; <option>4 Yaş</option>
&nbsp; <option>4,5 Yaş</option>
&nbsp; <option>5 Yaş</option>
&nbsp; <option>5,5 Yaş</option>
&nbsp; <option>6 Yaş</option>
&nbsp; <option>6,5 Yaş</option>
&nbsp; <option>7 Yaş</option>
&nbsp; <option>10 Yaş</option>
&nbsp; <option>14 Yaş</option>
&nbsp; <option>17 Yaş</option>
</select>
<br><br>
<button type="button"onclick="myFunction()">Hesapla</button>
<h3 id="sonuc">Sonuç : ?</h3>
</body>
</html>

Evet hocam en nihayetinde böyle basit bir şekilde bir arayüz lazım. kodları çalıştıramadım. Tekrar kontol edeceğim  Referans değerleriniz  daha sade,  ara değerler yok.  Sadece  rutin doktor kontrol yaşlarına göre verilmiş değerler.  Ama bu bile  işimi görür. gerisini   bir şekilde getirmeye çalışırım  Biraz bakayım   koda. çok teşekkür ederim uğraşınız için. Kahkaha
Logged
NoStres
Deneyimli
*****
Mesaj Sayısı: 630


One Love, One Heart, One Destiny


Üyelik Bilgileri WWW
« Yanıtla #10 : Nisan 23, 2021, 18:09:19 ÖS »

@sbaslar Rica ederim.

Kodlamaya değer limiti verirken; iki değer arasını bulup toleranslı bir şekilde hesaplanması sanırım doğru olur, milimetrik bir tablo olduğu için sınırları net vermek gerektiğini düşünüyorum.

Ek resimde belirttiğim gibi.


*  (51.46 KB, 1043x204 - Görüntüleme: 8 kez.)
Logged

Sayfa: [1]   Yukarı git
Yazdır
Gitmek istediğiniz yer: