如何在Excel中计算元素

用户名

因此,我有一列名为化学式的列,可容纳40,000个条目,而我想做的就是计算化学式中包含的元素数量。例如:

EXACT_MASS  FORMULA
626.491026  C40H66O5
275.173274  C13H25NO5

为此,我需要某种公式,其结果将返回

C  H  O
40 66 5
13 25 5

全部作为不同元素的单独列,并作为不同条目的行。有公式可以做到这一点吗?

杰米·邓斯坦(Jamie Dunstan)

您可以制定自己的公式。

使用ALT打开VBA编辑器,F11然后插入一个新模块。

Microsoft VBScript Regular Expressions 5.5通过单击工具,然后单击引用来添加引用。

现在添加以下代码:

Public Function FormulaSplit(theFormula As String, theLetter As String) As String

    Dim RE As Object
    Set RE = CreateObject("VBScript.RegExp")
    With RE
        .Global = True
        .MultiLine = False
        .IgnoreCase = False
        .Pattern = "[A-Z]{1}[a-z]?"
    End With

    Dim Matches As Object
    Set Matches = RE.Execute(theFormula)

    Dim TheCollection As Collection
    Set TheCollection = New Collection

    Dim i As Integer
    Dim Match As Object
    For i = (Matches.Count - 1) To 0 Step -1
        Set Match = Matches.Item(i)
        TheCollection.Add Mid(theFormula, Match.FirstIndex + (Len(Match.Value) + 1)), UCase(Trim(Match.Value))
        theFormula = Left(theFormula, Match.FirstIndex)
    Next

    FormulaSplit = "Not found"
    On Error Resume Next
    FormulaSplit = TheCollection.Item(UCase(Trim(theLetter)))
    On Error GoTo 0

    If FormulaSplit = "" Then
        FormulaSplit = "1"
    End If

    Set RE = Nothing
    Set Matches = Nothing
    Set Match = Nothing
    Set TheCollection = Nothing

End Function

用法:

  • FormulaSplit("C40H66O5", "H") 将返回66。
  • FormulaSplit("C40H66O5", "O") 将返回5。
  • FormulaSplit("C40H66O5", "blah") 将返回“未找到”。

您可以直接在工作簿中使用此公式。 工作簿中的FormulaSplit用法示例

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Excel中计算总和

来自分类Dev

如何在Excel中计算小时数

来自分类Dev

如何在Excel中计算脉冲?

来自分类Dev

如何在Excel中计算“订婚时间”

来自分类Dev

如何在Excel中计算加权总和?

来自分类Dev

如何在Excel中计算值

来自分类Dev

如何在mongodb中计算集合中的特定元素

来自分类Dev

如何在MongoDB中计算数组重复元素

来自分类Dev

如何在python中的字典列表中计算元素?

来自分类Dev

如何在MongoDB中计算数组重复元素

来自分类Dev

如何在mongo中计算数组元素

来自分类Dev

如何在xlsxwriter中计算Excel文档中的行数

来自分类Dev

如何在Excel中计算范围内的值

来自分类Dev

如何在Excel中计算特定单元格

来自分类Dev

如何在Excel中计算数组的平均斜率?

来自分类Dev

如何在Excel中计算dateTime之间的差异

来自分类Dev

如何在Excel中计算> 24的小时数?

来自分类Dev

如何在R中的Excel中计算RATE的当量?

来自分类Dev

如何在Excel中计算卡方分布的CDF?

来自分类Dev

如何在excel中计算特定单元格

来自分类Dev

如何在pyspark中计算?

来自分类Dev

如何获得在 Excel 中计算的超额金额?

来自分类Dev

如何在Eigen VectorXi中计算交集和并集的元素数量?

来自分类Dev

如何在Python的列表元素中计算子字符串的实例?

来自分类Dev

如何在PySpark中计算多个列和滚动窗口上的不同元素

来自分类Dev

如何在python中的numpy数组中计算n个元素的总和?

来自分类Dev

如何在R的数据框中计算列表列的每一列中的元素

来自分类Dev

如何在Eigen VectorXi中计算交集和并集的元素数量?

来自分类Dev

如何在Ansible中计算数组中的元素数量?

Related 相关文章

热门标签

归档