在Excel中插入表格时,您可以参考:
<span class="glyphicon glyphicon-remove form-control-feedback" aria-hidden="true" ng-show="Form.Name.$invalid"></span>
Table[#data]
Table[#header]
或Table[column name]
下的当前行的值使公式非常易于理解:Table[@[colum name]]
变为
=COUNTIF(A:A,A1)
快速检查当前行值的重复项(IBAN)。
我现在正试图将=COUNTIF(Suppliers[IBAN],Suppliers[@[IBAN]])
转换为
=VLOOKUP([@SupplierCode],Suppliers[Code],2,False)
换句话说,一种获取tableObject中列的列索引以在公式中使用它的方法(即vlookup)。
我可能会编写一个VBA函数来执行此操作,但我试图找出Excel是否有办法处理此没有VBA代码
我不想要的VBA解决方案(但如果不可能,可能会解决):
=VLOOKUP([@SupplierCode],Suppliers[Code],Suppliers[Name],False)
允许我写:Public Function GetColumnIndex(TableName As String, ColumName As String) As Long
GetColumnIndex = ActiveSheet.ListObjects(TableName).ListColumns(ColumName).Index
End Function
有效,只要表格在同一张表上
答案 0 :(得分:4)
Now added as answer:
public static void setListViewHeightBasedOnChildren(ListView listView) {
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
return;
}
int totalHeight = 0;
for (int i = 0; i < listAdapter.getCount(); i++) {
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(0, 0);
totalHeight += listItem.getMeasuredHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight
+ (listView.getDividerHeight() * (listAdapter.getCount() - 1));
listView.setLayoutParams(params);
listView.requestLayout();
}
gives the index of the header matching the name so
The only way I can think to do it without VBA is to use the Match() function
phoneListView.setAdapter(arrayAdapter);
setListViewHeightBasedOnChildren(phoneListView);
答案 1 :(得分:1)
使用表格,我认为更好的选择是用这种方式用INDEX公式替换VLOOKUP公式:
= INDEX(MyTableName [NameOfFieldContainingReturnValue],MATCH(LookupValue,MyTableName [NameOfFieldContainingLookupValue],0))
一些意见:
索引函数可以这种方式引用一个简单的列:= INDEX(MyTableName [FieldName]; 4)
这将返回“FieldName”
由于我们不知道行号,我们可以在包含查找值的列中使用MATCH(在使用vlookup公式的情况下,这将是最左列。)
答案 2 :(得分:0)