使用 Table Header 作为单元格中的内容
Use Table Header as Content In a Cell
我在另一个单元格中使用列 header 标题作为逗号分隔的内容。我正在使用 Excel 2016。我有一个名为 StudentCourse 的 table,为了更好地说明,请参见下面的示例布局:
[Name] [Math] [Geo] [Bio] [Fees] [Fixes]
Ram Very Bad Good Good Unpaid Urgent: Math, Fees
Dam Neutral Good Bad Paid Urgent: Math, Bio
Rik Good Good Good Paid OK: Not Urgent
Nik Good Good Good Partial Urgent: Fees
主题列的值来自下拉菜单,该菜单具有选项好、中立、差和非常差,如果值中立,选择差或非常差,然后 修复 列将更新为前缀 紧急: 和列 header 名称(数学、地理或费用)取决于需要修复的内容。如果不需要修复,那么 Fixes 列的值将为 Ok: Not Urgent.
费用栏也遵循相同的概念。这意味着如果为费用栏值选择了 部分(表示部分付款)或未付款 下拉选项,则费用将添加到修复栏。因此,简而言之,Fixes 列用于根据为其他列选择的内容自动选择值,从而轻松地对需要特别指定的内容进行排序。
我还应该提到我是 Excel 的新手。
如果您在 H:I 列中列出可接受的数据(如下例)。你可以使用:
=IF(TEXTJOIN(", ",1,IF(INDEX($I:$I,MATCH($B:$E,$H:$H,0))=B2:E2,"",$B:$E))="","OK: No urgent","Urgent: "&TEXTJOIN(", ",1,IF(INDEX($I:$I,MATCH($B:$E,$H:$H,0))=B2:E2,"",$B:$E)))
假设 table 位于 [A1:E9]
并且 OP 确认没有 [BLANK] 单元格。在[F2]
中输入这个公式,复制到[F3:F9]
.
Excel 2016
= IF( SUMPRODUCT( ($B2:$E2<>{"Good","Good","Good","Paid"})*1 )=0, "Ok: Not Urgent",
"Urgent: " & SUBSTITUTE(
IF( $B2<>"Good", ", " & $B, "" )
& IF( $C2<>"Good", ", " & $C, "" )
& IF( $D2<>"Good", ", " & $D, "" )
& IF( $E2<>"Paid", ", " & $E, "" ), ", ", "", 1 ) )
Excel 2019 (公式数组)
= IF( SUMPRODUCT( ($B2:$E2<>{"Good","Good","Good","Paid"})*1 )=0, "Ok: Not Urgent",
"Urgent: " &
TEXTJOIN( ", ", TRUE, IF( ($B2:$E2<>{"Good","Good","Good","Paid"}), $B:$E, TEXT(,) ) ) )
FormulaArray
按住ctrl+shift+enter 同时,如果输入正确,公式将包含在 {
和 }
中。
我在另一个单元格中使用列 header 标题作为逗号分隔的内容。我正在使用 Excel 2016。我有一个名为 StudentCourse 的 table,为了更好地说明,请参见下面的示例布局:
[Name] [Math] [Geo] [Bio] [Fees] [Fixes] Ram Very Bad Good Good Unpaid Urgent: Math, Fees Dam Neutral Good Bad Paid Urgent: Math, Bio Rik Good Good Good Paid OK: Not Urgent Nik Good Good Good Partial Urgent: Fees
主题列的值来自下拉菜单,该菜单具有选项好、中立、差和非常差,如果值中立,选择差或非常差,然后 修复 列将更新为前缀 紧急: 和列 header 名称(数学、地理或费用)取决于需要修复的内容。如果不需要修复,那么 Fixes 列的值将为 Ok: Not Urgent.
费用栏也遵循相同的概念。这意味着如果为费用栏值选择了 部分(表示部分付款)或未付款 下拉选项,则费用将添加到修复栏。因此,简而言之,Fixes 列用于根据为其他列选择的内容自动选择值,从而轻松地对需要特别指定的内容进行排序。
我还应该提到我是 Excel 的新手。
如果您在 H:I 列中列出可接受的数据(如下例)。你可以使用:
=IF(TEXTJOIN(", ",1,IF(INDEX($I:$I,MATCH($B:$E,$H:$H,0))=B2:E2,"",$B:$E))="","OK: No urgent","Urgent: "&TEXTJOIN(", ",1,IF(INDEX($I:$I,MATCH($B:$E,$H:$H,0))=B2:E2,"",$B:$E)))
假设 table 位于 [A1:E9]
并且 OP 确认没有 [BLANK] 单元格。在[F2]
中输入这个公式,复制到[F3:F9]
.
Excel 2016
= IF( SUMPRODUCT( ($B2:$E2<>{"Good","Good","Good","Paid"})*1 )=0, "Ok: Not Urgent",
"Urgent: " & SUBSTITUTE(
IF( $B2<>"Good", ", " & $B, "" )
& IF( $C2<>"Good", ", " & $C, "" )
& IF( $D2<>"Good", ", " & $D, "" )
& IF( $E2<>"Paid", ", " & $E, "" ), ", ", "", 1 ) )
Excel 2019 (公式数组)
= IF( SUMPRODUCT( ($B2:$E2<>{"Good","Good","Good","Paid"})*1 )=0, "Ok: Not Urgent",
"Urgent: " &
TEXTJOIN( ", ", TRUE, IF( ($B2:$E2<>{"Good","Good","Good","Paid"}), $B:$E, TEXT(,) ) ) )
FormulaArray
按住ctrl+shift+enter 同时,如果输入正确,公式将包含在 {
和 }
中。