我有一个用于Google表格中的计划系统的公式如下:
private String getRealPathFromURI(Uri image) {
String[] proj = { MediaStore.Images.Media.DATA };
//This method was deprecated in API level 11
//Cursor cursor = managedQuery(contentUri, proj, null, null, null);
CursorLoader cursorLoader = new CursorLoader(
this,
image, proj, null, null, null);
Cursor cursor = cursorLoader.loadInBackground();
int column_index =
cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
目前我的公式可以正常运行b2里面有一个值,但是我想让公式 only 显示一个值是否在其中。
B2,C2,D2,E2,F2或G2。
因此,如果c2具有值,我希望公式进行解析。
我尝试过
=IF(B2="","",(CONCATENATE($B$1&" "&B2&CHAR(10)&$C$1&" "&C2&CHAR(10)&$D$1&" "&D2&CHAR(10)&$E$1&" " &E2&CHAR(10)&$F$1&" " &F2&CHAR(10)&$G$1&" " &G2)))
我也尝试过:
=IF(B2,C2,E2) etc with no luck.
解析了公式,但即使没有数据也保持可见。
这样做的原因是,我将这些字段放入主计划中,并且只希望在填充其中一个字段时显示它?否则,日程安排将显得太忙了。
https://docs.google.com/spreadsheets/d/1KE3VOI43M4-QlWB0EZldCqR73d3RHDnRnUNlv1MqLMo/edit?usp=sharing
适合您的文档。
干杯!
答案 0 :(得分:2)
您需要使用AND()
而不是OR()
。
=IF(AND(B2="", C2=""), "", "Formula")
此外,尽管这会使公式变长,但我更喜欢使用IFERROR()
,ISBLANK()
和NA()
的组合。我之所以这样,是因为空白单元格与其中包含空字符串的单元格不同。因此,我编写上述代码的首选方式实际上是:
=IFERROR(IF(AND(ISBLANK(B2), ISBLANK(C2)), NA(), "Formula"))
答案 1 :(得分:2)
如果您的目标是在给定范围的单元格中的任何一个都不为空时显示公式(如果它们全部为空,则不显示任何内容),则可以先加入所有范围,然后与空字符串:
lineas.attr("d", function(d) {
return `M${d.source.x},${d.source.y}Q${w*0.5},${h*0.5} ${d.target.x},${d.target.y}`;
});
答案 2 :(得分:0)
我碰到的另一个解决方案是,我认为它比我自己的解决方案要好得多,并且使数据更加整洁。
=IF(A2<>"",CONCATENATE(IF(B2<>"",$B$1&": "&B2&CHAR(10),),
IF(C2<>"",$C$1&": "&C2&IF(OR(D2<>"",E2<>"",F2<>"",G2<>""),CHAR(10),),),
基本上,这只会填充所选内容,而不是填充标题中的所有字段,然后填充计划的工作流。