Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Function Google Sheets-创建SKU,自动将内容分为不同的列_Function_Google Sheets_Automation_Sku - Fatal编程技术网

Function Google Sheets-创建SKU,自动将内容分为不同的列

Function Google Sheets-创建SKU,自动将内容分为不同的列,function,google-sheets,automation,sku,Function,Google Sheets,Automation,Sku,我想在我的Google sheets CSV中创建一个列(SKU),当在每个单元格中手动输入数据时,它将自动填充其他3列(标题、颜色、大小)中的内容 我创建了一个CSV示例,其中突出显示了必要的列 B列-产品名称I列-颜色K列-尺寸N列-SKU SKU输入示例(手动输入N列) L24-1-000C-2-150 分配给每个部分的值的细分: L24=轻质运动鞋S24=凉鞋 1=蓝色2=红色 000=0 150=1.5 输出(在B、I和K列中自动执行) “轻量级训练器”、“蓝色”、“0” “凉鞋”、“

我想在我的Google sheets CSV中创建一个列(SKU),当在每个单元格中手动输入数据时,它将自动填充其他3列(标题、颜色、大小)中的内容

我创建了一个CSV示例,其中突出显示了必要的列

B列-产品名称
I列-颜色
K列-尺寸
N列-SKU

SKU输入示例(手动输入N列)

L24-1-000
C-2-150

分配给每个部分的值的细分:

L24=轻质运动鞋
S24=凉鞋

1=蓝色
2=红色

000=0
150=1.5

输出(在B、I和K列中自动执行)

“轻量级训练器”、“蓝色”、“0”

“凉鞋”、“红色”、“1.5”

链接到CSV

请尝试以下方法:

B1:
=数组公式(如果(A1:A=“手柄”、“标题”、如果(索引(拆分(N1:N)”,,1)=“L32”、“轻型训练器”、如果(索引(拆分(N1:N)”,,1)=“S24”、“凉鞋”、“靴子”))

I1:
=arrayformula(IF(A1:A=“Handle”,“Option1 Value”,IF(LEN(索引)(拆分(N1:N,“-”),2))>1,“多色”,IF(索引(拆分(N1:N,“-”),2)=1,“蓝色”,IF(索引(拆分(N1:N,“-”),2)=2,“红色”,IF(索引(拆分(拆分(N1:N,“-”,2)=“C”,“奶油”,”),“))”)

K1:
=arrayformula(如果(A1:A=“句柄”,“选项2值”,中间(N1:N,LEN(N1:N)-2,3))
请尝试以下方法:

B1:
=数组公式(如果(A1:A=“手柄”、“标题”、如果(索引(拆分(N1:N)”,,1)=“L32”、“轻型训练器”、如果(索引(拆分(N1:N)”,,1)=“S24”、“凉鞋”、“靴子”))

I1:
=arrayformula(IF(A1:A=“Handle”,“Option1 Value”,IF(LEN(索引)(拆分(N1:N,“-”),2))>1,“多色”,IF(索引(拆分(N1:N,“-”),2)=1,“蓝色”,IF(索引(拆分(N1:N,“-”),2)=2,“红色”,IF(索引(拆分(拆分(N1:N,“-”,2)=“C”,“奶油”,”),“))”)


K1:
=arrayformula(如果(A1:A=“Handle”,“Option2 Value”,MID(N1:N,LEN(N1:N)-2,3))
我想为您的问题提出一个替代解决方案。您可以使用来修改和更新电子表格。使用此方案,您可以轻松添加标题和颜色的新代码,以及仅使用应用程序脚本可用的不同新功能

在这种情况下,您需要打开应用程序脚本,单击
Tools>scripteditor
,您将看到脚本编辑器。它基于并允许您使用名为的服务创建、访问和修改GoogleSheets文件

在我随附的代码中,有一个名为[onEdit]的函数,每当用户修改电子表格中任何单元格的值时都会调用该函数。由于该触发器,您可以在列
SKU
中写入新值,其他值可以同时更新。您只需将初始函数替换为以下代码,并修改一些内容,我添加了一些注释以帮助您理解所有内容:

函数onEdit(e){
const sheetName='abc'//主工作表的名称
const col=SpreadsheetApp.getActive().getRange('N:N').getColumn()//sku列
//调用只更新sku列中已更新列的函数
如果(
e、 source.getSheetName()==sheetName&&
e、 range.columnStart==列&&
e、 range.columnEnd==列)
{
main(sheetName)//更新函数
}
}
函数主(sheetName){
//sku
var ss=SpreadsheetApp.getActive().getSheetByName(sheetName)
var sku=ss.getRange('N2:N').getValues().filter(String)//N:列ok sku
var last_row=库存单位长度+1
//头衔
标题=[…sku]
title.forEach(title_func)
ss.getRange('I2:I'+最后一行)。设置值(标题)
//颜色
颜色=[…sku]
color.forEach(color\u func)
ss.getRange('K2:K'+最后一行)。设置值(颜色)
//大小
大小=[…sku]
size.forEach(size\u func)
ss.getRange('M2:M'+最后一行).setNumberFormat('@').setValues(大小)
}
函数标题_func(项、索引、arr){
常量代码=项[0]。拆分('-')[0]
变量标题={
“L32”:“轻量级训练器”,
‘S24’:‘凉鞋’,
“T19”:“靴子”,
“T1”:“Test”
}
arr[索引]=[标题[代码]]
}
函数颜色函数(项、索引、arr){
常量代码=项[0]。拆分('-')[1]
变量颜色={
“1”:“蓝色”,
“2”:“红色”,
“1M”:“多色”,
C:“奶油”,
“O”:“橙色”,
‘T’:‘Test’
}
arr[index]=[colors[code]]
}
函数大小函数(项、索引、arr){
常量代码=项[0]。拆分('-')[2]
arr[索引]=[代码]
}
参考文献

    • 我想为您的问题提出另一种解决方案。您可以使用来修改和更新电子表格。使用此方案,您可以轻松添加标题和颜色的新代码,以及仅使用应用程序脚本可用的不同新功能

      在这种情况下,您需要打开应用程序脚本,单击
      Tools>scripteditor
      ,您将看到脚本编辑器。它基于并允许您使用名为的服务创建、访问和修改GoogleSheets文件

      在我随附的代码中,有一个名为[onEdit]的函数,每当用户修改电子表格中任何单元格的值时都会调用该函数。由于该触发器,您可以在列
      SKU
      中写入新值,其他值可以同时更新。您只需将初始函数替换为以下代码,并修改一些内容,我添加了一些注释以帮助您理解所有内容:

      函数onEdit(e){
      const sheetName='abc'//主工作表的名称
      const col=SpreadsheetApp.getActive().getRange('N:N').getColumn()//sku列
      //调用只更新sku列中已更新列的函数
      如果(
      e、 source.getSheetName()==sheetName&&
      e、 range.columnStart==列&&
      e、 range.columnEnd==列)
      {