如何在解析这个网页的百分位计算器?

医学专业,最近在研究怎样在办公电脑上复刻微信【孕算】小程序。
image

毕竟,最近疫情重,不能总当着病人面脱口罩解锁手机打开微信 [借口]。
就是这个:

已经初有成果:
image

但是我主要是想知道每个数据后面的百分位是怎么弄的。
谢谢各位大佬不吝赐教。
这个小程序的源码已经在这个帖子里被@dddd 发出来了。

文件 密码:fe0t

文件是在app\pages\yfy\growth\growth.js
无奈不是程序员,看JavaScript就跟看天书一样,但是大体应该是:


求助各位大佬,看看能否在Excel复刻这个程序,或者直接在内网电脑上能打开的网页也可以。
谢谢!

方法一:单元格格式,直接设置显示几位小数,同时单元格数据仍保留原有精度;
方法二:在计算结果的公式外,套上ROUNDUP函数,=ROUNDUP(原公式,小数位数),ROUNDUP以四舍五入计算结果,如不需要四舍五入,则用ROUNDDOWN函数。

:joy:不考虑用PC微信打开小程序吗

医院电脑没有联网

看起来还涉及其他函数,而且这种源码看起来很痛苦,变量名都是无意义的字母……
等等看有没有擅长js的人阅读分析
可以改改标题,目前的困难还没到excel那里……

标题改了

这玩意应该有公开的资料和公式吧?

要不干脆找个旧平板旧手机不设密码用算了

用了给的参考文献的公式
1.Cheng, Y., Lu, J., Leung, T. Y., Chan, Y. M., & Sahota, D. S. (2018). Prospective assessment of INTERGROWTH-21st and World Health Organization estimated fetal weight reference curves. Ultrasound in obstetrics & gynecology : the official journal of the International Society of Ultrasound in Obstetrics and Gynecology , 51 (6), 792–798. https://doi.org/10.1002/uog.17514
2. Leung, T. N., Pang, M. W., Daljit, S. S., Leung, T. Y., Poon, C. F., Wong, S. M., & Lau, T. K. (2008). Fetal biometry in ethnic Chinese: biparietal diameter, head circumference, abdominal circumference and femur length. Ultrasound in obstetrics & gynecology : the official journal of the International Society of Ultrasound in Obstetrics and Gynecology , 31 (3), 321–327. https://doi.org/10.1002/uog.5192
链接见下,更新另外两个曲线

应用前再检查一下吧,至少和我的小程序中数字是一致的

1 个赞

谢谢大佬。
@Qingwa 青蛙快点夸他

大佬,这两个公式可以弄吗?
image

也是参考了对应两个方法的文献
Buck Louis, G. M., Grewal, J., Albert, P. S., Sciscione, A., Wing, D. A., Grobman, W. A., Newman, R. B., Wapner, R., D’Alton, M. E., Skupski, D., Nageotte, M. P., Ranzini, A. C., Owen, J., Chien, E. K., Craigo, S., Hediger, M. L., Kim, S., Zhang, C., & Grantz, K. L. (2015). Racial/ethnic standards for fetal growth: the NICHD Fetal Growth Studies. American journal of obstetrics and gynecology , 213 (4), 449.e1–449.e41. https://doi.org/10.1016/j.ajog.2015.08.032
NICHD方法,文献只给了对应的参考表,也是看了前面大佬提取出来小程序的文件(app-service.js),借鉴处理方法把所有对应的数据全部列在另一个sheet里面了。
Mikolajczyk, R. T., Zhang, J., Betran, A. P., Souza, J. P., Mori, R., Gülmezoglu, A. M., & Merialdi, M. (2011). A global reference for fetal-weight and birthweight percentiles. Lancet (London, England) , 377 (9780), 1855–1861. https://doi.org/10.1016/S0140-6736(11)60364-4
Lancet这个曲线直接给出了一个excel的Supplementary webappendix 2,摸了一下两个参数的值。

数字可能有0.1%左右的误差,可能和参数的设置和四舍五入有关系, 应用前再检查一下吧
链接:https://pan.baidu.com/s/19qIExtx0_TMVaoAjTTfO6A
提取码:8zsy

2 个赞

拜谢大佬。

你给他点赞就好了呀


用了大佬的函数,自己也做了一个。
感觉自己棒棒哒。
谢谢大佬

老师再问一下:

case"efw":b=function(t,a){var e=Math.pow(Math.E,-3.644433-.022691*t),r=.695183*t-18.787389,n=.556843+.333584*t-.003642*t*t,o=(Math.pow(Math.log(a)/n,r)-1)/(r*e),u=d(o);return[o,u]}(s,f);break;default:b=["",""]}break

上面的o算式最后的分母是(r*e),但是我看你给的算式是:

=NORM.S.DIST(((LN(B7)/(0.556843+0.333584*(B1+D1/7)-0.003642*(B1+D1/7)*(B1+D1/7)))^(-18.787389+0.695183*(B1+D1/7))-1)/(EXP(-3.644433-0.022691*(B1+D1/7)))/(-18.787389+0.695183*(B1+D1/7)),TRUE)

用的是除法,为什么?

哦我懂了,算式的顺序,上面的是想乘之后,再除,也就等于你的除两遍。
又学习了

大佬,我看了这个代码:

case"utpi":b=function(t,a){var e=1.39-.012*t+198e-7*Math.pow(t,2),r=.272-259e-6*t,n=(Math.log(a)-e)/r,o=d(n);return[n,o]}(s,f);break

然后把我算的公式带进去:

=NORM.S.DIST((LN(B10)-(1.39-0.012*(B1+D1/7)+0.0000198*(B1+D1/7)^2))/(0.272-0.000259*(B1+D1/7)),TRUE)

就是这鬼样子:


为什么其他的可以,子宫动脉搏动指数不行?
链接:https://pan.baidu.com/s/1_WMeiPw9O6EnbIQSgapqyQ
提取码:0000
谢谢了
2022-04-09更新:
懂了,孕周应该是按天数,而不是周数。

正确的公式应该是:

=NORM.S.DIST((LN(B10)-(1.39-0.012*(B1*7+D1)+0.0000198*(B1*7+D1)*(B1*7+D1)))/(0.272-0.000259*(B1*7+D1)),TRUE)