EXCEL第一列内容相同的,第二列单元格内容相应合并在同一个单元格
Excel 问题描述
红色框是原始的数据,我的目的是想要通过红色框的转换成绿色框内容。当然方法有很多,编程可以实现。今天先讲下如何直接使用Excel解决这个问题的。
抽取第一列中的相同内容
以下这个链接中的内容解决了这个问题。
EXCEL极速批量合并相同单元格
抽取第二列内容道绿框中第二列
在做这个的时候参考了一些网上资料,最后绝对用VBA函数来实现。
如何自定义一个函数的操作步骤可以参考百度百科:
EXCEL自定义函数
知道怎么插入自定义函数后,就是写自定义函数了。
网上找了一些链接,发现都不是自己想要的,后来发现百度知道里一个答案很近似。
第一列内容相同的第二列单元格内容合并
我真的不是给百度打广告。。。。
我根据上述网页的函数做了小小的改动。
Function lookupmore(lookup_value, lookup_vector, result_vector)
Dim i As Integer
Dim temp As String
For Each c In lookup_vector
i = i + 1
If c.Value = lookup_value Then
temp = temp & "," & result_vector.Item(i)
End If
Next
lookupmore = Mid(temp, 2)
End Function
这里说下VBA的Mid函数。
VBA 的 VBA Mid函数 (终于不是百度的链接哈哈)
写完之后在Excel表格中调用这个函数。
一行做好后,点击D2的右下角,直到出现黑色的“十”字,直接向下拉就行了。所有的内容都转换成自己想要的。
明天有空写个python脚本转一下。
终于现在把脚本粗略的写好了,代码水平实在是太差。各位看官轻喷。
import xdrlib, sys
import xlrd
import numpy as np
import xlwt
import xlsxwriter
import openpyxl
from openpyxl import Workbook
from openpyxl import load_workbook
from xlutils.copy import copy
import openpyxl
'''
python读取excel中单元格的内容返回的5种类型
0 --empty:空
1 --string:字符串
2 --number:数字
3 --date:日期
4 --boolean:布尔
5 --error
'''
def open_excel(file):
try:
data = xlrd.open_workbook(file)
return data
except Exception as e:
print(e)
#根据索引获取Excel表格中的数据 参数:file:Excel文件路径 colnameindex:表头列名所在行的所以 ,by_index:表的索引
def excel_table_byindex(file,colnameindex,by_index):
data = open_excel(file