我有一张包含每一天的条目的表格。单元格 B(n) 应包含前几天 (n1 - nn) 的中间计算总和,其中一个参数是 n 和 nx 之间的天数差值。
例如,给定表
Day A B
1 3 0
2 5 3
3 7 11
4 8 26
5 9 49
n=4 和 n=5 天的值计算如下:
B4 = A1*3 + A2*2 + A3*1 + A4*0
B5 = A1*4 + A2*3 + A3*2 + A4*1 + A5*0
右侧的乘数是 n 和 nx 之间的天数差值。我想象这是范围内的逆位置。
ipos(A2,A1:A5)=3
也许是类似
B(n) = SUM(A1:An * ipos())
有什么想法可以写出这个公式吗?谢谢。
编辑: 谢谢您的回答。我可能没有充分描述问题。实际上,我试图计算每天给药的近似峰值浓度、给定每天的剂量和药物的半衰期。
Day Dosage Peak
1 2,50 2,50
2 3,17 5,67
3 4,00 9,67
4 4,00 13,67
5 5,00 17,906
半衰期(小时):
hl = 80
已过的半衰期数:
he(days_ago) = days_ago * 24 / 80
半衰期过后剩余的数量:
q_n(dosage, he(days_ago)) = MIN(1; 1 / MAX(1; he(days_ago))^2) * dosage
最后,第 n 天的总峰浓度:
q(n) = q_1(dosage_1, he(n-1)) + q_2(dosage_2, he(n-2)) + .. q_n(dosage_n, he(0))
例如,第 n = 5 天:
q(5) = q_1(2,50, he(4)) + q_2(3,17, he(3)) + q_3(4,00, he(2)) + q_4(4,00, he(1)) + q_5(5,00, he(0))
q(5) = q_1(2,50, 1.2) + q_2(3,17, 0.9) + q_3(4,00, 0.6) + q_4(4,00, 0.3) + q_5(5,00, 0)
q(5) = MIN(1; 1 / MAX(1; 1.2)^2) * 2,50 + MIN(1; 1 / MAX(1; 0.9)^2) * 3,17
+ MIN(1; 1 / MAX(1; 0.6)^2) * 4,00 + MIN(1; 1 / MAX(1; 0.3)^2) * 4,00
+ MIN(1; 1 / MAX(1; 0)^2) * 5,00
q(5) = 0.6944 * 2,50 + 1 * 3,17 + 1 * 4,00 + 1 * 4,00 + 1 * 5,00
q(5) = 17.906
答案1
答案2
答案3
- 突出显示单元格,包括列标题
- 插入表格(检查是否有标题行)
- 将表格名称更改为“MyTable”或其他名称。(当您的选择在表格内时,表格名称应位于表格工具设计功能区的左端。)
- 对于 B 中的每个单元格,将公式更改为
=IF(ROW()-ROW(MyTable[#Headers])=1,0,OFFSET([@B],-1,0)+SUM(OFFSET(MyTable[[#Headers],[A]],1,0,ROW()-ROW(MyTable[#Headers])-1)))
编辑:我应该解释一下这个公式。翻译成英文是这样的...
- 如果我是表中的第一个数据行,则仅返回 0
- 否则,返回我上方的单元格加上我上方 A 中的值的总和。