You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Excel VBA提取单列参考文献中的不同数量作者信息

Excel VBA 提取参考文献中的作者信息(单/双/多作者)

需求说明

通过Excel VBA从单列的参考文献列表中,提取单作者、双作者及更多作者的完整信息。

示例

参考文献示例

Walkenbach, J. (2010). Excel 2010 power programming with VBA (Vol. 6). John Wiley & Sons.
Jackson, M., & Staunton, M. (2006). Advanced modelling in finance using Excel and VBA. John Wiley & Sons.
Smith, A., Johnson, B., & Williams, C. (2018). Data analysis with Excel. McGraw-Hill.

提取结果示例

单作者输出:Walkenbach, J.
双作者输出:Jackson, M., & Staunton, M.
三作者输出:Smith, A., Johnson, B., & Williams, C.

实现思路

基于你提供的代码片段,核心逻辑如下:

  1. 用Split(c, "(")拆分单元格内容,myarray(0)即为括号前的作者部分(需去除首尾空格)。
  2. 通过作者部分的逗号数量判断作者数量:
    • 单作者:仅含1个逗号(匹配格式「姓, 名首字母.」)
    • 双作者:含3个逗号(匹配格式「姓1, 名首字母1., & 姓2, 名首字母2.」)
    • 三作者及以上:逗号数量≥5(每增加一位作者,多2个逗号)
  3. 直接提取整理后的作者部分,按需求输出或写入指定单元格。

完整VBA代码

Sub ExtractAuthors()
    Dim c As Range
    Dim myarray As Variant
    Dim authorPart As String
    Dim commaCount As Integer
    Dim outputCol As Integer ' 输出列号,B列=2、C列=3,可自行调整
    
    outputCol = 2 ' 默认将结果写入B列
    
    For Each c In Worksheets("Sheet1").Range("A1:A20").Cells
        If c.Value <> "" Then ' 跳过空单元格
            myarray = Split(c.Value, "(")
            authorPart = Trim(myarray(0)) ' 提取作者部分并清除首尾空格
            
            ' 统计作者部分的逗号数量
            commaCount = Len(authorPart) - Len(Replace(authorPart, ",", ""))
            
            ' 判断作者数量并输出
            Select Case commaCount
                Case 1
                    c.Offset(0, outputCol - 1).Value = "单作者输出:" & authorPart
                Case 3
                    c.Offset(0, outputCol - 1).Value = "双作者输出:" & authorPart
                Case Is >= 5
                    c.Offset(0, outputCol - 1).Value = "三作者及以上输出:" & authorPart
            End Select
        End If
    Next c
End Sub

代码说明

  • outputCol:可修改为目标列号,调整结果输出位置。
  • 空单元格判断:避免处理无内容的单元格导致报错。
  • Trim(myarray(0)):清除作者部分首尾的多余空格,保证格式整洁。
  • 逗号数量判断:适配标准参考文献的作者格式,确保识别逻辑准确。

内容的提问来源于stack exchange,提问作者Ali Sarab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 10:35:21