Google sheets 基于其他工作表上的值的工作表上单元格的条件格式(颜色)

Google sheets 基于其他工作表上的值的工作表上单元格的条件格式(颜色),google-sheets,gs-conditional-formatting,Google Sheets,Gs Conditional Formatting,我试图实现条件格式,但无法整理系统。 我正在努力实现的目标: 匹配两张图纸中的样式和图案列。范围:A21:B40和A2:C63 匹配后,订单中的列标题(G1:AO1)将与指导表行值A21:B40匹配,其中单元格的颜色将根据订单中的指导表而改变。如果任何列标题不匹配,则它将保持为白色 我附上了一个示例表,其中订单表中的ST5用作示例,但是手动的。如果这个过程可以自动化,我在办公室的工作就会轻松 示例表 我也愿意打一个电话来整理这些系统 很抱歉无法解释清楚,并提前表示感谢。对于指南,您需要4条规则

我试图实现条件格式,但无法整理系统。 我正在努力实现的目标:

  • 匹配两张图纸中的样式和图案列。范围:A21:B40和A2:C63
  • 匹配后,订单中的列标题(G1:AO1)将与指导表行值A21:B40匹配,其中单元格的颜色将根据订单中的指导表而改变。如果任何列标题不匹配,则它将保持为白色
  • 我附上了一个示例表,其中订单表中的ST5用作示例,但是手动的。如果这个过程可以自动化,我在办公室的工作就会轻松

    示例表

    我也愿意打一个电话来整理这些系统


    很抱歉无法解释清楚,并提前表示感谢。

    对于指南,您需要4条规则。添加单元C21。这将是颜色代码指南

    适用于范围C21:R1017(适用于所有4条规则)

    自定义公式

    =match(C21,$C$2:$C$10,0)
    
    =match(C21,$E$2:$E$16,0)
    
    =match(C21,$G$2:$G$9,0)
    
    =match(C21,$I$2:$I$4,0)
    
    对于订单,您需要脚本。请尝试以下操作:

    function colorCells(){
     var ss=SpreadsheetApp.getActiveSpreadsheet() 
     var s=ss.getSheetByName("Orders")
     var s1=ss.getSheetByName("Guide")
     var lr=s.getLastRow()
     var lc=s.getLastColumn()
     var lr1=s1.getLastRow()
     var lc1=s1.getLastColumn()
     var orderdata=s.getRange(1, 1, lr, lc).getValues()
     var guidedata=s1.getRange(21, 1, lr1=21, lc1).getValues()
     var headers=s.getRange(1, 7, 1, lc-6).getValues()
     for(var i=0;i<orderdata.length;i++){
       for(var j=0;j<guidedata.length;j++){
         if(orderdata[i][1]==guidedata[j][0] && orderdata[i][2]==guidedata[j][1]){
             var row=i+1
             var row1=j+21
             var line=s1.getRange(row1, 3, 1,18).getBackgrounds()
             var lval=s1.getRange(row1, 3, 1,18).getValues()
          for(var k=0;k<headers[0].length;k++){
             for(var l=0;l<lval[0].length;l++){
              var t=headers[0][k]
              var t1=lval[0][l]
              if(t==t1){
                 var c=s1.getRange(row1, l+3, 1,1).getBackground()
                 var sc=s.getRange(row, k+7, 1,1).setBackground(c)
          }}}}}}}
    
    函数colorCells(){
    var ss=SpreadsheetApp.getActiveSpreadsheet()
    var s=ss.getSheetByName(“订单”)
    var s1=ss.getSheetByName(“指南”)
    var lr=s.getLastRow()
    var lc=s.getLastColumn()
    var lr1=s1.getLastRow()
    var lc1=s1.getLastColumn()
    var orderdata=s.getRange(1,1,lr,lc).getValues()
    var guidedata=s1.getRange(21,1,lr1=21,lc1.getValues()
    var headers=s.getRange(1,7,1,lc-6).getValues()
    对于(var i=0;i