Troubles with the update formula Troubles with formula, asking for a missing matrix Steps, I have tried to retrieve data from column B to column D Know is telling that I insert insufficient arguments下午好,
我有B列,用葡萄牙语进行描述,逐行和D列,并用英语进行翻译: 我正在尝试在D列的英语中每个数据行下方插入相应的葡萄牙语翻译。
但是我找不到任何公式可以做到这一点,也没有在论坛中找到类似这样的问题。 唯一最接近的问题是,在具有公式= MOD(ROW(D2),2)= 0或过滤器添加序列的数据行之间插入空白行。并使用vlookup检索数据,如附件中的图像。
答案 0 :(得分:0)
将此公式放在结果列中,然后将$ A $ 1调整为您的第一个葡萄牙语术语,将$ B $ 1调整为您的第一个翻译术语:
'=OFFSET($A$1;((ROW()-ROW($B$1))/2)-ROW($A$1)+1;0)
您应该获得一列,其中每个葡萄牙语术语都会重复。现在,您可以用英文翻译覆盖上方单元格中的公式。
该公式计算当前(翻译行)单元格与第一个翻译后的行之间的差,并将其切成两半:这是与该单元格关联的葡萄牙语术语的行。然后,它使用该行号作为葡萄牙语术语第一行的偏移量。
现在,如果您想让Forst行为空,那么您当然可以在true
公式的if
部分中填充整个公式:
=IF(MOD(ROW()-ROW($B$1),2)=0;"";OFFSET($A$1;((ROW()-ROW($B$1))/2)-ROW($A$1)+1;0))
这是您在excel中经常会做的事情,我想您知道这个窍门。它使核心公式更难读,但它基本上说:如果该块中的当前行可被2整除,则将该行设置为空,否则将该行设置为与我上面介绍的公式相等。
答案 1 :(得分:0)
您可以使用超级查询来解决此任务。
我已使用以下数据进行了演示。请注意,我使用的是 Excel 365英文版。
| Portuguese | English |
|------------|---------|
| um | one |
| dois | two |
| três | three |
| quatro | four |
| cinco | five |
| seis | six |
| Sete | seven |
| oito | eight |
| nove | nine |
| dez | ten |
步骤是:
Portuguese
列,然后添加一个索引列,其索引从1
开始,然后应该具有以下内容:Transform
标签下的 Merge Columns 合并列功能,将English
列与Portuguese - Copy
列与自定义分隔符(例如井号标签#
)合并(只要该分隔符不是原始文本的一部分),那么您应该具有:Transform
标签下的拆分列功能,用相同的定界符#
拆分合并的列,并确保在“高级设置”中选择将结果放入行,如下所示:输出将如下所示:
如果您不想在最终输出中显示Portuguese
列,可以选择删除它,然后关闭并加载该表到一个新的工作表(默认情况下)。
这是后台的电源查询 M代码。所有使用的功能都在GUI中,因此应易于遵循和执行。
let
Source = Excel.CurrentWorkbook(){[Name="Table2"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Portuguese", type text}, {"English", type text}}),
#"Duplicated Column" = Table.DuplicateColumn(#"Changed Type", "Portuguese", "Portuguese - Copy"),
#"Added Index" = Table.AddIndexColumn(#"Duplicated Column", "Index", 1, 1),
#"Merged Columns" = Table.CombineColumns(#"Added Index",{"English", "Portuguese - Copy"},Combiner.CombineTextByDelimiter("#", QuoteStyle.None),"Merged"),
#"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(#"Merged Columns", {{"Merged", Splitter.SplitTextByDelimiter("#", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Merged"),
#"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Merged", type text}})
in
#"Changed Type1"
如果您有任何疑问,请告诉我。干杯:)