如何将Pathfinder 2e伤害掷骰公式转换为平均结果?
单个公式实现Pathfinder 2e伤害掷骰转平均值
针对你需要把类似1d8+5+2d6的伤害掷骰公式直接转成平均伤害的需求,这里提供Google Sheets的单个单元格公式,无需跨单元格链式计算:
=SUM(ARRAYFORMULA(IFERROR(VALUE(REGEXEXTRACT(SPLIT(A1,"\+"),"^\d+$")), (VALUE(REGEXEXTRACT(SPLIT(A1,"\+"),"(\d+)d")) * (VALUE(REGEXEXTRACT(SPLIT(A1,"\+"),"d(\d+)"))/2 + 0.5)))))
公式拆解
SPLIT(A1,"\+"):将输入单元格A1中的伤害公式按+拆分,得到单个伤害组件(比如1d8、5、2d6)REGEXEXTRACT(..., "^\d+$"):识别纯数值组件(比如5),用VALUE转成可计算的数字- 对于掷骰组件(比如
1d8):REGEXEXTRACT(..., "(\d+)d")提取骰子数量XREGEXEXTRACT(..., "d(\d+)")提取单骰面数Y- 代入平均值公式
X*(Y/2 + 0.5)计算单组掷骰的平均伤害
ARRAYFORMULA让公式批量处理所有拆分后的组件,IFERROR自动切换纯数值和掷骰两种计算逻辑SUM将所有组件的平均值相加,得到总伤害平均值
Excel适配方案
如果用Excel,公式需要调整为(需启用TEXTSPLIT函数,适用于Excel 365/2021及以上版本):
=SUM(IFERROR(VALUE(TEXTBEFORE(TEXTSPLIT(A1,"+"),"d")), VALUE(TEXTBEFORE(TEXTSPLIT(A1,"+"),"d"))*(VALUE(TEXTAFTER(TEXTSPLIT(A1,"+"),"d"))/2+0.5)))
内容的提问来源于stack exchange,提问作者Hitlinemoss
相关产品推荐
相关产品推荐

