在Excel表中同一个房屋坐落对应两个不同的房屋账号,用两个账号匹配流水词条
时间: 2024-03-05 10:47:45 浏览: 29
在Excel表格中,可以使用vlookup函数来实现同一个房屋坐落对应两个不同的房屋账号,用两个账号匹配流水词条的操作。具体步骤如下:
1. 在流水表中,添加一个新列,用来存放对应的房屋账号。在该列中,使用vlookup函数进行匹配,从房屋账号表格中查找对应的房屋账号。假设房屋账号表格中的房屋地址列为A,第一个账号列为B,第二个账号列为C,则vlookup函数的公式如下:
```
=IFERROR(VLOOKUP($D2,$A$2:$C$10,2,FALSE),VLOOKUP($D2,$A$2:$C$10,3,FALSE))
```
其中,$D2为流水表格中的房屋地址,$A$2:$C$10为房屋账号表格的范围,2和3分别表示要查找的房屋账号列。
2. 在流水表格中,添加两列,分别用来存放第一个账号和第二个账号的流水词条。在该列中,使用vlookup函数进行匹配,从流水表格中查找对应的流水词条。假设流水表格中的账号列为D,流水词条列为E,则vlookup函数的公式如下:
```
=IF($G2=$D2,$E2,"")
```
其中,$G2为该列所在行的房屋账号,$D2为流水表格中的账号,$E2为流水表格中的流水词条。
3. 最后,使用筛选功能,按照房屋地址和两个账号的流水词条进行筛选,即可得到对应的流水词条。
需要注意的是,在使用vlookup函数进行匹配时,需要保证房屋地址在房屋账号表格和流水表格中的列名一致,并且在使用筛选功能时,需要将所有列的筛选条件都设置为“全部”。
相关问题
用pandas在Excel表中同一个房屋坐落对应两个不同的房屋账号,用两个账号匹配流水词条
可以使用pandas的merge方法来实现在Excel表中同一个房屋坐落对应两个不同的房屋账号,用两个账号匹配流水词条。具体步骤如下:
1. 使用pandas分别读取房屋账号表格和流水表格,假设房屋账号表格的文件名为accounts.xlsx,包含三列:房屋地址、第一个账号、第二个账号;流水表格的文件名为transactions.xlsx,包含四列:房屋地址、账号、流水词条、流水金额。代码示例如下:
```python
import pandas as pd
# 读取房屋账号表格
accounts = pd.read_excel('accounts.xlsx')
# 读取流水表格
transactions = pd.read_excel('transactions.xlsx')
```
2. 使用pandas的merge方法,将房屋账号表格和流水表格进行合并。由于同一个房屋坐落对应两个不同的房屋账号,需要进行两次合并,分别以第一个账号和第二个账号作为键。代码示例如下:
```python
# 以第一个账号作为键合并
merged1 = pd.merge(transactions, accounts[['房屋地址', '第一个账号']], on='房屋地址', how='left')
merged1 = pd.merge(merged1, transactions[['房屋地址', '流水词条']], left_on=['房屋地址', '第一个账号'], right_on=['房屋地址', '账号'], how='left')
merged1 = merged1[['房屋地址', '第一个账号', '流水词条']]
merged1.columns = ['房屋地址', '账号', '流水词条']
# 以第二个账号作为键合并
merged2 = pd.merge(transactions, accounts[['房屋地址', '第二个账号']], on='房屋地址', how='left')
merged2 = pd.merge(merged2, transactions[['房屋地址', '流水词条']], left_on=['房屋地址', '第二个账号'], right_on=['房屋地址', '账号'], how='left')
merged2 = merged2[['房屋地址', '第二个账号', '流水词条']]
merged2.columns = ['房屋地址', '账号', '流水词条']
# 合并两次合并的结果
merged = pd.concat([merged1, merged2])
```
在上述代码中,我们首先以第一个账号作为键合并,将流水表格和房屋账号表格进行合并,并仅保留房屋地址、第一个账号和流水词条三列。然后以第二个账号作为键进行合并,同样仅保留房屋地址、第二个账号和流水词条三列。最后,将两次合并的结果进行合并,得到最终的合并结果。
3. 对合并结果进行筛选,按照房屋地址和账号进行筛选,即可得到对应的流水词条。代码示例如下:
```python
# 筛选结果
result = merged[(merged['房屋地址'] == 'xxx') & ((merged['账号'] == 'xxx') | (merged['账号'] == 'xxx'))]['流水词条']
```
在上述代码中,我们使用了布尔索引,按照房屋地址和账号进行筛选,得到对应的流水词条。需要将代码中的'xxx'替换为具体的房屋地址和账号。
一个Excel表中同一个房屋坐落对应两个不同的房屋账号,用pandas对两个不同的账号匹配流水表
好的,你的问题是如何用 pandas 对两个不同的账号匹配流水表。
首先,我们可以将 Excel 表中的数据读入 pandas 的 DataFrame 中。然后,我们可以使用 DataFrame 的 merge() 函数将两个账号的流水表合并为一个表,并且使用 groupby() 函数按照房屋坐落和账号进行分组,再使用 sum() 函数对每个组进行求和,得到每个账号在每个房屋坐落的总流水。
以下是示例代码:
``` python
import pandas as pd
# 读入 Excel 表中的数据到 DataFrame
df_account1 = pd.read_excel('account1.xlsx')
df_account2 = pd.read_excel('account2.xlsx')
df_flow = pd.read_excel('flow.xlsx')
# 将两个账号的流水表合并为一个表
df_merged = pd.merge(df_account1, df_account2, on='房屋坐落')
# 按照房屋坐落和账号进行分组,对每个组进行求和
df_total_flow = df_flow.groupby(['房屋坐落', '账号']).sum()
# 输出每个账号在每个房屋坐落的总流水
print(df_total_flow)
```
注意,这里的代码仅仅是一个示例,实际应用中需要根据具体情况进行修改。同时,为了保护您的隐私,示例代码中的文件名和文件路径均为假设值,实际应用中需要根据实际情况进行修改。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)