我有一列体重指数 (BMI) 范围,我想将其自动分组到另一列中的类别或存储桶中。它看起来像这样:
\n\ncolA colB\n\nBMI BMI Grouping\n23.11 BMI \xe2\x89\xa5 18.5 - 24.9\n22.66 BMI \xe2\x89\xa5 18.5 - 24.9\n33.55 BMI \xe2\x89\xa5 30 - 34.9\n40.12 BMI \xe2\x89\xa5 35\n\nRun Code Online (Sandbox Code Playgroud)\n\n我有 5 个“BMI 分组”类别,我想将 BMI 范围分类为:
\n\n请教我 Google 表格所需的公式或代码。
\n我有两张表想使用“主键”链接。目前,我已使用该函数将一些列从sheet1导入sheet2
=Sheet1!A1(例如第一个单元格)。我的目的是完善sheet2中每条导入行的相关数据。但是,sheet1 与其他人共享,因此他们可以修改行的内容,而无需删除或修改我在sheet2 中添加的数据(而sheet1 中不存在这些数据)。
鉴于我的表有一列“id”可以被视为主键,我如何在sheet2中添加新数据,因为它将与“id”而不是行的位置相关(所以如果我更改sheet1中的id,我添加的数据将被删除,或者如果我将id移动到另一行,所有数据也将被移动)?
我有一个包含稀疏数据的人性化工作表:
PART | FRUIT
---------------
Alpha |
| Apples
| Pears
Beta |
| Lemons
| Oranges
Run Code Online (Sandbox Code Playgroud)
我想创建第二个自动更新的机器友好工作表,该工作表将填充 PART 列中的所有空单元格:
PART | FRUIT
---------------
Alpha |
Alpha | Apples
Alpha | Pears
Beta |
Beta | Lemons
Beta | Oranges
Run Code Online (Sandbox Code Playgroud)
我可以在机器友好的工作表上的“水果”列中保留空白单元格。但理想情况下我希望删除这些行:
PART | FRUIT
---------------
Alpha | Apples
Alpha | Pears
Beta | Lemons
Beta | Oranges
Run Code Online (Sandbox Code Playgroud)
如果我想在机器友好的工作表中使用插值,我会依靠MATCH 技巧或FILTER 粘贴到任何地方的公式。
但我真的想避免在添加、更改或删除原始工作表中的行时更新机器友好的工作表。(如果我向原始工作表添加新列,则必须更新它,我没问题。)这意味着使用手动插值是禁止的。
理想的情况是,我会在第二张纸上输入一个魔法={ARRAYFORMULA()}或=QUERY某种魔法,然后就不管它了。
={ ARRAYFORMULA(MAGIC(PART)), FRUIT }
但到目前为止,我还无法思考如何解决这个问题。有什么建议么?
什么更好?
方法#1 - https://docs.google.com/spreadsheets/d/1JaWUWS3xKOwSX9y7uWUqEU5_Knp8nRgnhlVa1kRNlTo/edit?usp=sharing
方法#2 - https://docs.google.com/spreadsheets/d/1uND2IWlMese_ZDH37ITGf2LDwwLriheBbe9ozXAD8Yo/edit?usp=sharing
我认为方法 #2 会更好,但我只是想确认一下。
在检查列中是否存在值之后,我想将同一行中的单元格的值返回到不同的列.
具体来说,我正在检查O列中的任何值是否与A列中的值匹配.如果他们这样做,我想从与A列中匹配项相同的行中的单元格中取相应的值,但这些值在列中F.然后,我想从列f中获取这些值,并将它们放在与列O中的值相同的行中.
这是我试过的公式:
=IF(ISNA(MATCH(O2,$A$2:$A$1589,0)),"no match", VLOOKUP(O2,$A$1:$z$14000,16,FALSE))
Run Code Online (Sandbox Code Playgroud)
这会为列P中的所有单元格返回"不匹配".我尝试使用VLOOKUP函数中的col_index_num进行处理,但我能做的最好就是让它返回零,无论如何都不是正确的值.
我有一个宏绑定到我的Excel工作表上的按钮单击事件.当此事件触发时,我需要查看工作表上的值是否FeedSampleForm Range("A5:B5").Value存在于B其他工作表的列中FeedSamples.
任何人都可以帮我这个吗?对于Excel来说,我几乎不是用户,这是我第一次"开发"它.
编辑:
现行守则如下.这适用于不同的保存过程,具体取决于是在保存新记录还是在编辑以前创建的记录后保存.
对于样本数据,请说我正在寻找"FeedSampleForm".Range("A5:B5").值为"SR0238",我需要查看"FeedSamples"工作表中B列中是否存在"SR0238",目前包含"SR0237" - "SR0252".如果它不存在,我可以使用与我的添加记录功能相同的代码,但如果确实如此,我必须在保存时写入该确切的行.
Sub SaveInspection()
If modeAdd = True Then
'Labeler Reg. No.
Worksheets("FeedSamples").Range("A1").End(xlDown).Offset(1, 0).value = Range("L3:M3").value
'Feed Report No.
Worksheets("FeedSamples").Range("B1").End(xlDown).Offset(1, 0).value = Range("A5:B5").value
'Product No. / Class No.
Worksheets("FeedSamples").Range("C1").End(xlDown).Offset(1, 0).value = Range("C5").value
Worksheets("FeedSamples").Range("E1").End(xlDown).Offset(1, 0).value = Range("D5").value
Worksheets("FeedSamples").Range("F1").End(xlDown).Offset(1, 0).value = Range("E5").value
'Description No.
Worksheets("FeedSamples").Range("H5").End(xlDown).Offset(1, 0).value = Range("F5").value
Worksheets("FeedSamples").Range("I5").End(xlDown).Offset(1, 0).value = Range("G5").value
Worksheets("FeedSamples").Range("J5").End(xlDown).Offset(1, 0).value = Range("H5").value
Worksheets("FeedSamples").Range("K5").End(xlDown).Offset(1, 0).value = Range("I5").value
'Possessor No.
Worksheets("FeedSamples").Range("L1").End(xlDown).Offset(1, 0).value = Range("J5:K5").value
'Date
Worksheets("FeedSamples").Range("M").End(xlDown).Offset(1, 0).value …Run Code Online (Sandbox Code Playgroud) 我有两张excel表,我需要匹配三个值才能返回第四个.类似的列是月,代理和子域.第四列称为差异.
我正在尝试将vlookup与max函数配对.出于某种原因,每次我尝试使用它时它只返回#ref.
我的表看起来像这样:
A - B - C - D - E - F - G
1...
5 - Prod5 id1 $100 $125 $155 $110 $150
6...
Run Code Online (Sandbox Code Playgroud)
答:G被命名为buyAverages C:G被命名为buyAveragesPrices
我想要做的是有一个vlookup go并在Col A中找到一个值然后返回该Col中的最高值.所以示例:
A - B
1 - Prod5 *return highest price for Prod5
Run Code Online (Sandbox Code Playgroud)
我在B1写的,失败了:
VLOOKUP(A1,buyAverages,MAX(buyAveragesPrices))
Run Code Online (Sandbox Code Playgroud)
那么我该如何实现这种查找呢?我发现的一切都是如何使用MAX作为查找值,但在返回的索引上没有使用max.
在Excel中,我正在尝试执行以下操作:
如果sheet1列1 = sheet2列2,则返回sheet2列D中的值
我磕磕绊绊地想要如何做到这一点,因为我发现的每个例子似乎都使用包含公式的工作表的列索引值.(即sheet1)
我想:VLOOKUP(sheet1!A1,sheet2!A2:A11696,sheet2!4,FALSE)
我只能:VLOOKUP(sheet1!A1,sheet2!A2:A11696,4,FALSE)
在阅读其他主题后,我看到人们似乎建议使用INDEX.所以我试过了
=INDEX(sheet2!A2:A11696, MATCH(sheet1!A1004,sheet2!D:D,FALSE))
Run Code Online (Sandbox Code Playgroud)
这也不起作用.
我理解如何使用每种方法:( VLOOKUP或HLOOKUP)vs . INDEX/ MATCH.
我在寻找他们之间的差异,而不是在个人偏好方面,但主要是在以下方面:
是否有一种方法可以做到另一种方法无法做到的事情?
哪一个更有效(或者取决于具体情况)?
使用一种方法与另一种方法的任何其他优点/缺点
注意:我在这里回答我自己的问题,但是想看看是否有其他人有其他我没有想过的见解.