我正在尝试加入两个数据框,但无法理解Python提供的可能性.
第一个数据帧:
ID MODEL REQUESTS ORDERS
1 Golf 123 4
2 Passat 34 5
3 Model 3 500 8
4 M3 5 0
Run Code Online (Sandbox Code Playgroud)
第二个数据帧:
MODEL TYPE MAKE
Golf Sedan Volkswagen
M3 Coupe BMW
Model 3 Sedan Tesla
Run Code Online (Sandbox Code Playgroud)
我想要的是在名为"make"的第一个数据框中添加另一列,使其看起来像这样:
ID MODEL MAKE REQUESTS ORDERS
1 Golf Volkswagen 123 4
2 Passat Volkswagen 34 5
3 Model 3 Tesla 500 8
4 M3 BMW 5 0
Run Code Online (Sandbox Code Playgroud)
我已经查看了合并,连接和映射,但所有示例都在数据帧的末尾添加了所需的信息.
对于所有善良的爱,我似乎无法让这一切发挥作用.我一直收到上面提到的错误.
我有这个表,我试图找出代码是否在另一列中的某个地方匹配它自己的子代码,但它是错误的.非常感谢您的帮助.

Sub testing()
Dim m1 As long
Dim myrange As Range
Set myrange = Worksheets("Sheet1").Range("B2:B23")
For e = 2 To 23
m1= Application.WorksheetFunction.Match(Cells(e, 1).Value, myrange, 0)
If m1 > 0 Then
Cells(e, 3).Value = "Yes"
Else
Cells(e, 3).Value = "No"
End If
Next e
MsgBox "Complete!"
End Sub
Run Code Online (Sandbox Code Playgroud) 我有一个带有数以千计的代码的df,用于不同的未来合约.它们有缩写名称(稍后出现)和长名称(我希望在其他df中有)
full_list <- structure(
list(
Ticker = c("AC", "AIC", "BBS", "BO", "C", "DF"),
Long_Name = c("Ethanol -- CBOT", "DJ UBS Commodity Index -- CBOT", "South American Soybeans -- CBOT", "Soybean Oil -- CBT", "Corn -- CBT", "Dow Jones Industrial Average -- CBT")
),
.Names = c("Ticker", "Long_Name"),
row.names = c(NA, 6L),
class = "data.frame"
)
Run Code Online (Sandbox Code Playgroud)
这个df有我每天收到的列表.我必须去查找缩写名称并将其与长名称匹配.
replace <- structure(
list(
Type = c("F", "F", "F", "F", "F", "F"),
Location = c("US", "US", "US", "US", "US", "US"),
Symbol = c("BO", "C", …Run Code Online (Sandbox Code Playgroud) 我从不同的客户端获得七个工作簿(xlsx文件),每个工作簿都有一个工作表.
每个工作表至少有一个公共ID列(UNIQ,PK).其中一个工作簿包含所有可能的ID列表.其他人可能没有所有ID的记录,但每行都定义了id值.
我需要制作一个最终的工作簿,第一列ID,然后是每个文件中所有剩余列的并集.
然后我需要发送final.xlsxvia电子邮件,因此它独立于源文件(我不确定是否可以在保留常量值的情况下取消引用它).
我们可以使用VLOOKUP或内置Excel函数吗?
有没有办法使用VLOOKUP内连接两个不同的Excel电子表格?
在SQL中,我会这样做:
SELECT id, name
FROM Sheet1
INNER JOIN Sheet2
ON Sheet1.id = Sheet2.id;
Run Code Online (Sandbox Code Playgroud)
工作表Sheet1:
+----+------+
| ID | Name |
+----+------+
| 1 | A |
| 2 | B |
| 3 | C |
| 4 | D |
+----+------+
Run Code Online (Sandbox Code Playgroud)
Sheet2中:
+----+-----+
| ID | Age |
+----+-----+
| 1 | 20 |
| 2 | 21 |
| 4 | 22 |
+----+-----+
Run Code Online (Sandbox Code Playgroud)
结果将是:
+----+------+
| ID | Name |
+----+------+
| 1 | A | …Run Code Online (Sandbox Code Playgroud) 我有一个VLookup单元,它给了我错误的值:这是表:
PID Product Price User User name Deal On Amount After
in 1001 table 1001 1 Milly No 1000
in 1001 table 100 13 Vernetta Yes 900
out 1001 table 50 14 Mireya No 900
out 1001 table 100 15 Rosanne Yes 1000
out 1001 table 101 16 Belinda No 1000
in 1001 table 200 1 Milly Yes 800
in 1234 chair 300 2 Charlena Yes 500
in 1234 chair 100 3 Mina Yes 400
in 1234 chair 50 4 …Run Code Online (Sandbox Code Playgroud) 我有一个大约5000个与IP相关的用户事件的电子表格,我正在尝试使用IP来仅使用Excel公式来确定位置.我日志中的IP结构为"点状四边形"(十进制表示法).
我认为VLOOKUP是这里的方式,所以我下载了WEBNet77的IPV4 IpToCountry数据库,这似乎是一个全面的,最新的资源(有没有更好的资源用于此目的?).该数据库包括大约140K行的IP范围,表单的结构如下:

Colum标签A-G分别为:IP FROM,IP TO,REGISTRY,ASSIGNED,CTRY,CNTRY,COUNTRY.
注意,一个问题:列A到B代表一系列IP,但是它们是"长格式"(我最初没有意识到这一点).因此,在使用这些值作为参考之前,我将必须转换我的虚线四边形.然后,我想为我日志中的每个IP返回Country(G列).
这里有什么帮助?
如果你认为有更好的方法在Excel中查找IP>国家(也许使用网络即http://api.hostip.info/flag.php?ip=xxx.xxx.xxx.xxx),请告诉我.
我正在将一个工作表中的行中的值与另一个工作表中的另一行中的值进行比较.以下公式和作品:
=IFERROR(VLOOKUP(A1,Sheet1!A1:A19240,1,FALSE),"No Match")
Run Code Online (Sandbox Code Playgroud)
我的问题是,当我填写公式时,它正确递增A1但也增加了(A1:A19240),所以我已缩小搜索范围的一半.
如何将此公式应用于列?
目前,我有一个模仿VLOOKUP函数的脚本,如下所示-
function lookupUpdate() {
// Test variables
var HashID = "B2";
var EditorName = "Jane";
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var values = ss.getDataRange().getValues();
for (var i = 0; i < values.length; i++) {
if (values[i][0] == HashID) {
// hard coding the value 2 as the 'EditorName' corresponds to Column B
ss.getRange(i + 1, 2).setValue(EditorName);
// trying to find a way to not hard code this value (2)
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的工作表的架构非常简单-

但是,我想优化脚本,以便它根据标题名称查找并设置值,而不是有人对值进行硬编码,因为每次在现有的数据集数组之间引入新列时,都会变得很困难。
是否可以在不破坏整个代码的情况下实现?
表 1 中有一个值表,我想对其进行条件格式设置(如果嵌套值在表 2 的表中找到匹配项,则用颜色突出显示单元格)。
但 vlookup 函数似乎无法与条件格式结合使用。
当我输入格式规则的公式时(我选择“自定义公式是”),它不起作用。
这是我使用的公式。
自定义公式为“B1=vlookup(B1,Sheet2!$A$1:$A$6,1,false)”
这一步有什么问题吗?Vlookup函数可以与条件格式一起使用吗?


