因此,我有两本书。 Book1和Book2。
我目前有Book1从Book2导入一些信息以创建一个小的迷你图。 它从Book2列A3到G3提取信息以创建一个小图。
我当前的代码是(在Book1单元格中)
=SPARKLINE(IMPORTRANGE("Book2","Sheet1!A3:G3"),
{"charttype","bar";"max",100;"color1","Green";"color2","red"})
但是,我希望此迷你图和importrange仅在满足Book1上的条件时才起作用。
因此在Book1中,如果一个单元格具有一个条件(示例)为TRUE,则将应用上面的公式(在Book1的另一个单元格中),并且它将继续从Book2导入并在Book1中创建图形。
我不确定如何在公式中设置条件。我尝试了IF语句,但没有成功。希望有人在那里可以今天教我一些东西。
答案 0 :(得分:0)
尝试:
=IF(A1="abc", SPARKLINE(IMPORTRANGE("ID", "Sheet1!A3:G3"),
{"charttype", "bar"; "max", 100; "color1", "green"; "color2", "red"}), )
如果单元格A1中包含abc
,则执行迷你图,否则不执行任何操作
答案 1 :(得分:0)
您可以使用Apps Script来实现自己想要的。
function buildMyChart(){
// Get the sheets from the spreadSheet attach to this script
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
var book1Sheet = sheets[0];
var book2Sheet = sheets[1];
// Get values from your Book2
var rangeParameter = "A3:G3";
book2SheetRange = book2Sheet.getRange(rangeParameter);
// If the cell has value "true", then insert the graph
var cellConditionParameter = "A1";
if(book1Sheet.getRange().getValues()[0][0]){
var chart = book1Sheet.newChart()
.setChartType(Charts.ChartType.LINE)
.addRange(book2SheetRange) // Range from Book2
.setPosition(2, 2, 0, 0) // position where you want to put your chart
.build();
book1Sheet.insertChart(chart);
}
}
上面的代码将获取两个工作表,并从Book2中获取所需的范围,如果特定单元格中的值在Book1中为“ True”,则它将使用insertChart()方法插入图表。
我没有使用Sparkline作为类型,因为它很快就会被弃用,所以我使用的是“ LINE”。您可以检查所有图表类型here
答案 2 :(得分:0)
好吧,我发现一些效果很好。
=SPARKLINE(QUERY(IMPORTRANGE("url of other sheet","Sheet1!A1:Z100"), "Select Col24 where Col2='"&cell number within sheet in Book1 such as E5 or whatever&"'"), {"charttype","bar";"max",100;"color1","Green";"color2","green"})
这对我来说真的很好。 感谢您的所有投入!