各位使用者,你们好。如果对于这个表格有任何意见建议看法想法,欢迎留言,我会努力做得更好。
最新版本
2020年9月12日更新
SHA1: 1533AF43B8C71719827E681F018EC789DC104649
旧版本
这个是Excel版的电极电位计算器,最新版本是0.3.0,现发布出来与大家分享。文件见一楼。
一、结构
该工作簿由五个工作表组成,分别是“计算器”、“电极电位”、“元素序号”、“文本处理”和“关于”。
电极电位
此工作表储存了539条电极电位信息,并留有61条的空位供用户自行输入。电极电位数据来自《CRC Handbook of Chemistry and Physics 97th Edition 2016-2017》。
文本处理
该工作表用于文本处理,将直接输入的数字转换为上下标字符“₀₁₂₃₄₅₆₇₈₉⁰¹²³⁴⁵⁶⁷⁸⁹⁺⁻”(←欢迎复制使用)。
计算器
橙色单元格可以输入相应的数据,“单位”有下拉菜单可供选择。
“浓度”留空默认当“1”处理。默认单位是mol/L,不填亦可。
本表未提供活度逸度的计算,请用物质的量浓度和分压。压强单位为大气压(atm)。
原理:
$$\varphi = \varphi _{\theta } +\frac{RT}{nF} \times ln\frac{[Oxidation\:State]}{[Reduction\:State]}$$
界面示例
关于
二、备注
请务必看每一个注释,即单元格右上角的小箭头。
在“电极电位”数据表中录入数据时,所有为“1”的计量数都不能省略。
但是,在计算器中为了美观,“1”自动省略。
“₀₁₂₃₄₅₆₇₈₉⁰¹²³⁴⁵⁶⁷⁸⁹⁺⁻”没有设置上下标格式,字符本来就长这样。但是,在Excel中它们不会被当做数字。
鉴于这些特殊的字符在键盘上打不出来,为方便在“电极电位”数据表中录入数据,约定:上标请使用^,下标正常输入。如果不想让某些数字被自动处理,请在数字前加上 \ 反斜杠。
举个例子:输入“ZnSO4·\7H2O”会被“文本处理”工作表处理成“ZnSO₄·7H₂O”并于“计算器”中显示。
表格使用Excel 2019编辑,虽然在制作的时候已尽量留意,但仍可能有兼容性问题。最低支持Office 2007。
本文件核心部分的工作表有保护,但是没有密码,可以自行取消保护并研究设计原理。
请勿用于商业用途。
三、未来可能会添加的改动
H⁺和OH⁻的浓度的处理与其他离子分开。【已于0.2.0β实现】
自动识别固体、纯液体、气体和溶液中的离子,前两者浓度自动当1处理。【已于0.3.0实现】
合理处理有效位数。【已于0.2.0β实现】
增加难溶物离子积和弱电解质的处理。
未完待续
小技巧:
1.自动填充修正的列序号=IF(ISBLANK(B2),"",ROW()-ROW(A1))
来源:“电极电位”A列
含义:判断B2单元格是否为空。是,返回空文本;否,返回此单元格行序号与对应列表头单元格行序号的差。
解释:
IF和ISBLANK嵌套的作用是判断单元格是否有内容。如果有内容自动生成列序号,如果没有内容自动留空。
ROW()-ROW(A1)的作用是自动计算序号,在删除数行之后无需人工更正。A1的实质是序号列对应的表头单元格。
2.有效位数的计算
来源:“计算器”
新算法:先用IF(MOD(##,1)=0,0,LEN(##)-FIND(".",##))返回小数点后的数位,再用IF(##=0,0,INT(LOG10(ABS(##)))+1)返回数量级,最后将二者相加。(##为待检测的单元格。)
下载地址:一楼
此表为鄙人所作,如有错误纰漏,恳请各位批评指正。如果有什么使用上的问题,也欢迎各位提问。
[修改于 3年7个月前 - 2020/09/12 22:34:14]
各位使用者,你们好。如果对于这个表格有任何意见建议看法想法,欢迎留言,我会努力做得更好。
最新版本
2020年9月12日更新
SHA1: 1533AF43B8C71719827E681F018EC789DC104649
旧版本
更新日志
2020.09.12晚
0.3.0
1.弃用了基于“电极电位”表排序的编号,新序号基于反应方程式的变价元素
2.加入“查询”功能
3.调整了计算器界面
4.加入了物质的物态(s,l,g,aq,Hg)
5.加入浓度和单位的数据验证功能
6.增加使用说明
2020.03.04晚
0.2.0β
改进“电极电位”工作表中有效位数的算法
精简公式
添加“统一离子浓度”的功能
完成四舍五入和四舍六入五成双的功能
增加设置
0.1.2β
增加使用说明(右上角红色小三角)
补充电极电位工作表中英语内容的翻译
0.1.1β
增大字号,适当调整配色,保护视力且增加可读性
增加一些边框
2020.02.22
0.1.0β 雏形
顺便补充一点,在0.1.0的版本中,有效位数的计算是通过检测数据开头是否为“0.”“-0.”“0.0”“-0.0”、检测文本长度并通过计算得来的。这种方法虽然够用,但是不能触及有效数字的本质特征。在新版本中,有效数字的计算是通过检测小数位数和数量级来实现的。公式中的if,abs等用于解决整数、零、负数等情况。这种差别可以在0.2.0版本的“关于”页中自己探索。
如果公式写的不对,欢迎提问质询。还有,如果网友们有实用、好看的更好的UI设计建议,也欢迎提出。
PS:E是科学记数法,相当于“×10^ ”。例如:NA可取6.02E+23。
计算器终于能抽一点时间更新了。
我想问大家一个问题:有没有一些特别想添加的功能?
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |
200字以内,仅用于支线交流,主线讨论请采用回复功能。