正在加载

如何在XLSX文件中使用多个单元格内容来命名文件

  • 作者: 姬语
  • 来源: 投稿
  • 2024-09-06

一、如何在XLSX文件中使用多个单元格内容来命名文件

使用 VBA 宏

1. 打开包含要重命名的 XLSX 文件的 Excel。

2. 按 `Alt` + `F11` 打开 Visual Basic 编辑器。

3. 在“插入”菜单中,选择“模块”。

4. 将以下代码粘贴到模块中:

```vba

Sub RenameFilesFromCells()

Dim wb As Workbook

Dim ws As Worksheet

Dim lastRow As Long

Dim i As Long

Dim fileName As String

Set wb = ActiveWorkbook

Set ws = wb.Worksheets(1) '假设数据在第一个工作表中

lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row

For i = 2 To lastRow

fileName = ws.Cells(i, 1).Value & ws.Cells(i, 2).Value & ".xlsx"

wb.SaveAs fileName

Next i
End Sub
```

5. 运行宏(按 `F5`)。

使用 Power Query

1. 打开包含要重命名的 XLSX 文件的 Excel。

2. 选择“数据”选项卡,然后单击“获取数据”>“自文件”>“自工作簿”。

3. 选择包含要重命名的文件名的 XLSX 文件。

4. 在“导航器”对话框中,选择包含文件名的工作表。

5. 单击“加载”按钮。

6. 在“查询编辑器”中,选择“添加列”>“自定义列”。

7. 在“自定义列”对话框中,输入以下公式:

```

= [Column1] & [Column2] & ".xlsx"

```

8. 将新列命名为“文件名”。

9. 单击“关闭并加载”按钮。

10. 选择“文件”>“另存为”>“浏览”。

11. 在“另存为”对话框中,选择“Power BI Desktop 文件 (.pbix)”作为文件类型。

12. 单击“保存”按钮。

13. 在 Power BI Desktop 中打开 PBIX 文件。

14. 在“查询”窗格中,右键单击“文件名”查询,然后选择“调用”。

15. 在“调用”对话框中,选择“重命名文件”。

16. 单击“确定”按钮。

注意:

确保文件名列中没有重复值。

确保文件保存的位置具有写入权限。

二、如何在xlsx文件中使用多个单元格内容来命名文件

使用 VBA 宏

1. 打开包含要重命名的文件的 Excel 工作簿。

2. 按 `Alt` + `F11` 打开 Visual Basic 编辑器。

3. 在“插入”菜单中,选择“模块”。

4. 将以下代码粘贴到模块中:

```vba

Sub RenameFiles()

Dim wb As Workbook

Dim ws As Worksheet

Dim i As Long, j As Long

Dim strPath As String

Dim strFile As String

Dim strNewFile As String

Set wb = ActiveWorkbook

Set ws = wb.ActiveSheet

' 循环遍历工作表中的所有行

For i = 2 To ws.Cells(ws.Rows.Count, 1).End(xlUp).Row

' 获取文件路径

strPath = ws.Cells(i, 1).Value

' 获取文件名

strFile = ws.Cells(i, 2).Value

' 获取新文件名

strNewFile = ws.Cells(i, 3).Value

' 重命名文件

Name strPath & strFile As strPath & strNewFile

Next i
End Sub
```

5. 运行宏(按 `F5`)。

使用 Power Query

1. 打开包含要重命名的文件的 Excel 工作簿。

2. 选择“数据”选项卡,然后单击“获取数据”>“自文件”>“自工作簿”。

3. 选择包含文件名的工作簿,然后单击“导入”。

4. 在“Power Query 编辑器”中,选择“添加列”>“自定义列”。

5. 在“自定义列”对话框中,输入以下公式:

```

= Table.AddColumn("YourTableName", "NewFileName", each [FileName] & [NewFileName])

```

6. 替换 `YourTableName` 为工作表名称,`[FileName]` 为包含文件名的列名称,`[NewFileName]` 为包含新文件名的列名称。

7. 单击“确定”添加新列。

8. 选择“文件”>“关闭并上载”。

9. 在“导入数据”对话框中,选择“仅创建连接”。

10. 单击“确定”导入数据。

11. 右键单击工作表中的任何单元格,然后选择“刷新”。

使用第三方工具

还有许多第三方工具可以帮助您使用多个单元格内容重命名文件,例如:

[Bulk Rename Utility](https://www.bulkrenameutility.co.uk/)

[Advanced Renamer](https://www.advancedrenamer.com/)

[File Renamer](https://www.filerenamer.com/)

三、一个单元格中多个名字如何使用vlookup

使用 VLOOKUP 函数查找单元格中多个名称的方法:

1. 使用辅助列:

在原始数据表中,创建一个辅助列,将多个名称合并为一个分隔的字符串。

例如,如果 A2:A5 单元格包含名称,则在 B2 单元格中使用公式:`=TEXTJOIN(",", TRUE, A2:A5)`。

2. 使用 INDEX 和 MATCH 函数:

在查找表中,使用 INDEX 函数查找与辅助列中分隔字符串匹配的第一个名称。

例如,如果查找表在 Sheet2 中,则在 Sheet1 中使用公式:`=INDEX(Sheet2!A:A, MATCH(B2, Sheet2!B:B, 0))`。

3. 使用 VLOOKUP 函数:

将 INDEX 函数的结果作为 VLOOKUP 函数的查找值。

例如,在 Sheet1 中使用公式:`=VLOOKUP(INDEX(Sheet2!A:A, MATCH(B2, Sheet2!B:B, 0)), Sheet2!A:C, 3, FALSE)`。

示例:

假设 Sheet1 中的 A2:A5 单元格包含以下名称:

```

A2: John Doe

A3: Jane Smith

A4: Michael Jones

A5: Sarah Miller

```

在 Sheet2 中,查找表如下:

```

A:A B:B C:C

Name Email Phone

John Doe john.doe@example.com 5551234567

Jane Smith jane.smith@example.com 5552345678

Michael Jones michael.jones@example.com 5553456789

Sarah Miller sarah.miller@example.com 5554567890

```

要查找单元格 A2 中多个名称的电子邮件地址,请在 Sheet1 中使用以下公式:

```

=VLOOKUP(INDEX(Sheet2!A:A, MATCH(TEXTJOIN(",", TRUE, A2:A5), Sheet2!B:B, 0)), Sheet2!A:C, 3, FALSE)

```

该公式将返回 "john.doe@example.com"。

四、一个单元格多个名字怎么到多个单元格中

使用公式

1. 在目标单元格中输入以下公式:

```

=TEXTJOIN(",",TRUE,A1:A10)

```
其中:

A1:A10 是包含多个名称的单元格区域。

"," 是分隔符,将名称分隔为多个单元格。

2. 按 Enter 键。

使用 VBA 代码

1. 打开 VBA 编辑器(按 Alt + F11)。

2. 插入一个新模块。

3. 粘贴以下代码:
```vba

Sub SplitNames()

Dim rng As Range

Dim arrNames() As String

Dim i As Long

Set rng = Range("A1:A10") '修改为包含多个名称的单元格区域

arrNames = Split(rng.Value, ",")

For i = LBound(arrNames) To UBound(arrNames)

Cells(i + 1, 1).Value = arrNames(i)

Next i
End Sub
```

4. 运行代码(按 F5)。

使用 Power Query

1. 选择包含多个名称的单元格区域。

2. 转到“数据”选项卡,然后单击“获取数据”>“自表/范围”。

3. 在“Power Query 编辑器”中,选择“拆分列”>“按分隔符”。

4. 在“分隔符”框中,输入逗号 (,)。

5. 单击“确定”。

6. 将拆分的列加载到新表中。