|
经常查询有机物,需要了解相关物性参数,其中之一就是分子量。同一种化合物,来源不同,分子量可能存在一定差异,因此,希望可以根据分子式实现分子量的自动计算。 为简化问题,设定两个限定条件:(1).分子式没有括号;(2).分子式在同一个单元格中。为此,考虑过两种方案:
1. 对某种化合物,根据对应分子式中所含元素及顺序,自动计算包含的每个元素原子数量,然后根据原子量自动计算出分子量,此后对于同类分子式——元素及顺序相同,即可以套用该公式,实现分子量自动计算。实例见附件《化合物分子量自动计算-Excel公式-实例》中的“DT”表。
2. 在方案1的基础上针对所有符合前述限定条件的所有分子式通用的分子量计算公式。实例见附件《化合物分子量自动计算-Excel公式-实例》中的“分子量计算”表。思路如下:A、B两列分别了设置为元素符号及对应的原子量→在C列中按元素表依次判定分子式(E1)是否包含该元素,如果有确定该原子在分子式中的位置→在D列中确定分子式中各原子数量→最后使用sumproduct函数计算分子量。
3. 各位达人,使用EXCEL公式,还有更好的解决方案吗?
在此过程中遇到两个问题:
1. 以分子式C2H4Cl2为例,在确定原子数量过程中用到公式表达式:MID(E1,C2+1,2)>9。如下表所示,MID(E1,C2+1,2)计算结果为“4C”,但是逻辑表达式结果为“TRUE”(E2),这是怎么回事啊?
| A | B | C | D | E | F | 1 | Symbol | Atomic Mass | Posi. | Num. | C2H4Cl2 | 98.9596 | 2 | H | 1.0079 | 3.00 | 4.00 | TRUE | | 2. 如果如实例《化合物分子量自动计算-Excel公式-实例》中的“分子量计算”表中“任意”分子式的分子量计算,如何在“DT”分表中利用此功能,根据分子式,自动计算分子量?例如,在下表中,根据B2单元格中的分子式,在C2中自动计算出分子量?
| A | B | C | D | 1 | 品名 | 分子式 | 分子量 | 备注 | 2 | 1,2-二氯乙烷 | C2H4Cl2 | 98.960 | |
|
|