Excel获取填充背景的单元格个数

应用背景

对班级上交的团费进行一个统计,交了团费的同学设置成绿色背景,不用交团费的同学为黄色背景,没交的团费的同学背景为白色,统计不同情况的同学的人数。

1. GET.CELL函数的应用

我的Excel版本为2016版,找到公式 - 定义名称 - 定义名称
在这里插入图片描述
出现一个编辑名称的表格。要完成的是两个空,一个是名称,另一个是引用位置。
在这里插入图片描述

  • 名称这一栏是随意的,你需要填一个形象并且你容易记住的名字,比如GetColor或是GetBackgroundColor等。
  • 引用位置一定要填上=GET.CELL( , ),其中括号内第一个空可以可以参照GET.CELL的百度百科,选择一个合适的数值,此时选择为63。
    https://baike.baidu.com/item/GET.CELL/7787662?fr=aladdin
    第二个空为你所在的工作表!需要统计色块的位置,如Sheet1!$H2。在位置处加不加$取决于你要统计颜色块的位置,如果不确定,可以先不加,然后依次尝试。因为我的色块都在H这一列,所以我在H前加了$
  • 设置完后查看可以在公式 - 名称管理器中查看到你所定义的新名称。在这里插入图片描述

以我的为例,在K2单元格内输入= GetColor就得到一个数值,这个数值就是背景颜色所对应的数值,43是绿色背景的编号,0为无背景的编号,不用纠结数值的大小,不同颜色能够显示不能的编号表示成功了一半。
在这里插入图片描述

2. 用COUNTIF再作统计

将K列的数据填充完整个表格后,在M列用COUNTIF函数=COUNTIF($K$2:$K$51,GetColor)

  • 第一个空为用"GetColor"所填充的数据的位置;
  • 第二个空位为用GET.CELL时自定义的名称。
    在这里插入图片描述

图中可以看出绿色背景对应值是43,出现的次数是33次;0出现的次数是8次;同理黄色出现7次。
所以交了团费的同学是43人,还没交的是8人,不用交的是7人。

3. 参考链接

[1]https://blog.csdn.net/lehomy/article/details/83509292?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161594557416780265415742%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=161594557416780265415742&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-1-83509292.pc_search_result_hbase_insert&utm_term=excel%E7%BB%9F%E8%AE%A1%E9%A2%9C%E8%89%B2%E5%8D%95%E5%85%83%E6%A0%BC%E6%95%B0%E9%87%8F
[2]https://www.sohu.com/a/125118947_556186

### 回答1: pandas是一个强大的数据处理和分析工具,可以通过使用pandas库的函数来填充Excel单元格的颜色。 首先,我们需要使用pandas库的`ExcelWriter`类创建一个Excel文件,并将需要填充颜色的数据写入到该文件。然后,我们可以使用pandas库的`style`属性设置单元格的颜色。 以下是一个示例代码,用于将单元格A1填充为红色: ```python import pandas as pd # 创建一个Excel文件 writer = pd.ExcelWriter('output.xlsx', engine='xlsxwriter') # 创建一个DataFrame,用于填充数据 data = {'A': [1, 2, 3, 4, 5]} df = pd.DataFrame(data) # 将DataFrame写入Excel文件 df.to_excel(writer, sheet_name='Sheet1', index=False, startrow=0, startcol=0) # 获取Excel文件的工作簿 workbook = writer.book # 创建一个格式对象,用于设置填充颜色 format_red = workbook.add_format({'bg_color': 'red'}) # 获取Excel文件的工作表 worksheet = writer.sheets['Sheet1'] # 设置单元格A1的填充颜色为红色 worksheet.conditional_format('A1:A1', {'type': 'no_blanks', 'format': format_red}) # 保存Excel文件 writer.save() ``` 通过使用`add_format`方法创建一个格式对象,并设置`bg_color`属性来指定单元格背景颜色。然后,通过`conditional_format`方法将这个格式对象应用到指定的单元格范围上。 当然,上述代码只是一个简单的示例,实际使用可以根据具体需求进行扩展和修改。 ### 回答2: pandasExcelWriter模块可以用于将数据写入Excel文件,并且可以设置单元格的样式,包括填充颜色。 要填充Excel单元格的颜色,首先需要导入pandas、openpyxl和xlrd模块。然后,创建一个DataFrame对象,该对象包含要写入Excel文件的数据。 接下来,创建一个ExcelWriter对象,并使用该对象的ExcelWriter.book属性获取工作簿对象。使用工作簿对象的add_format方法创建一个格式对象,该对象可以用于设置单元格的样式。 然后,创建一个样式字典对象,其包含要应用于单元格的样式。在字典,可以使用openpyxl格式化选项来设置填充颜色,例如"pattern"和"bg_color"。 最后,使用ExcelWriter对象的to_excel方法将DataFrame写入Excel文件,并将样式字典对象传递给参数的"cell_format"选项。保存并关闭工作簿,完成填充单元格颜色的操作。 以下是一个示例代码: ```python import pandas as pd from openpyxl.styles import PatternFill from openpyxl import load_workbook # 创建DataFrame对象 data = {'A': [1, 2, 3, 4, 5], 'B': [5, 4, 3, 2, 1]} df = pd.DataFrame(data) # 创建ExcelWriter对象 writer = pd.ExcelWriter('output.xlsx', engine='openpyxl') # 将数据写入Excel文件 df.to_excel(writer, sheet_name='Sheet1', index=False) # 获取工作簿对象 workbook = writer.book # 创建格式对象 format = PatternFill(fill_type="solid", fgColor="FFFF00") # 创建样式字典对象 styles = {'A1': format, 'A2': format} # 将样式应用于单元格 for cell, style in styles.items(): workbook['Sheet1'][cell].fill = style # 保存并关闭工作簿 workbook.save('output.xlsx') writer.close() ``` 这段代码将创建一个Excel文件"output.xlsx",其包含一个名为"Sheet1"的工作表。数据将被写入'A'和'B'列。样式字典单元格'A1'和'A2'将被填充为黄色。保存并关闭工作簿后,Excel文件将包含填充颜色的单元格。 ### 回答3: Pandas可以通过使用ExcelWriter对象来填充Excel单元格的颜色。首先,我们需要使用openpyxl库来导入ExcelWriter,然后使用pandas库来读取Excel文件并进行相应的操作。 首先,我们需要安装openpyxl库和pandas库。可以使用以下命令来安装它们: ``` pip install openpyxl pip install pandas ``` 接下来,我们导入所需的库并创建一个ExcelWriter对象: ```python import pandas as pd from openpyxl import load_workbook # 创建一个ExcelWriter对象 writer = pd.ExcelWriter('output.xlsx', engine='openpyxl') ``` 接下来,我们使用pandas的相关函数来读取Excel文件并进行操作。例如,我们可以使用`read_excel()`函数来读取原始Excel文件,并使用`fillna()`函数来填充空缺的单元格。 ```python # 读取原始Excel文件 df = pd.read_excel('input.xlsx') # 填充空缺的单元格 df = df.fillna(0) ``` 接下来,我们可以使用openpyxl库的相关函数来对单元格进行颜色填充。首先,我们需要加载Excel文件并获取工作簿对象: ```python # 加载Excel文件 book = load_workbook('output.xlsx') # 获取默认工作表 writer.sheets = dict((ws.title, ws) for ws in book.worksheets) # 获取工作簿对象 writer.book = book ``` 然后,我们可以使用openpyxl库的相关函数来设置单元格颜色。例如,我们可以使用`cell.fill`属性来设置单元格填充颜色。 ```python # 设置单元格颜色 for sheetname in writer.sheets: sheet = writer.sheets[sheetname] for cell in sheet['A']: cell.fill = PatternFill(fgColor="FFFF00") ``` 最后,我们可以使用pandas库的相关函数将修改后的数据写入Excel文件。 ```python # 将修改后的数据写入Excel文件 df.to_excel(writer, sheet_name='Sheet1', index=False) # 保存并关闭Excel文件 writer.save() writer.close() ``` 通过以上步骤,我们就可以使用pandas来填充Excel单元格的颜色了。请注意,需要根据实际需求进行相关的修改和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橙橙小狸猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值