我有一个名字列表。我还有一个矩阵,其中包含名称和其对应的审计程序作为列标题。我需要在此矩阵中查找名称,找到名称后,我需要获取审计程序,即列标题。我有一个可以垂直运行的代码,但是找不到使它水平运行的公式。
这是我对垂直矩阵的工作代码:
<script>
function InviteLink( id, url ){
console.log(id);
$.ajax({
type: "POST",
url: https://abc.hrm.com/auth/login,
data: { 'id' : id },
success: function(data) {
}
});
}
</script>
答案 0 :(得分:1)
使用:
=IFERROR(INDEX(auditors,AGGREGATE(15,7,(COLUMN(names)-MIN(COLUMN(names))+1)/(names=H2),1)),"")
假设您的第一个标题位于A1中。将该公式放在A2中,然后上下复制。
答案 1 :(得分:0)
将其用作数组公式似乎可以很好地解决问题:
{=INDEX(Auditors;1;SUM(IF(Names=Auditors;COLUMN(Auditors);0)))}
这可以通过创建与表大小相同的矩阵来实现,其中单元格包含0或单元格的列(如果存在匹配项)。请注意,它假定您的Auditor定义的范围从第1列开始,并且包含标题和数据(我使用了$ A $ 1:$ C $ 4)
此外,如果没有匹配项,则默认情况下将返回审核员1;要强制执行错误,您可以使用SUM结果为零的事实,例如:
{=INDEX(Auditors;1;1/(1/SUM(IF(Names=Auditors;COLUMN(Auditors);0))))}
此外,由于它会在整个“审核员”表中查找,因此也会匹配审核员本身;如果这不是您想要的,则可能要为标题和审计程序表的数据定义单独的范围,或相应地对它们进行抵消。
答案 2 :(得分:0)
有时候,有一些原因不希望使用数组公式。这是一个使用常规旧public class ExpenseAdapter extends RecyclerView.Adapter<ExpenseAdapter.ItemViewHolder> {
private ArrayList<Item> mExpenseList;
public static class ItemViewHolder extends RecyclerView.ViewHolder {
public TextView frag_name;
public TextView frag_price;
public TextView frag_date;
public ItemViewHolder(@NonNull View itemView) {
super(itemView);
frag_name.findViewById(R.id.recycler_name);
frag_price.findViewById(R.id.recycler_price);
frag_date.findViewById(R.id.recycler_date);
}
}
@NonNull
@Override
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int i) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.expense, parent, false);
ItemViewHolder viewHolder = new ItemViewHolder(v);
return viewHolder;
}
// constructor to receive list of expenses for recycler view to process
public ExpenseAdapter(ArrayList<Item> expenseList) {
mExpenseList = expenseList;
}
@Override
public void onBindViewHolder(@NonNull ItemViewHolder itemViewHolder, int i) {
Item currItem = mExpenseList.get(i);
itemViewHolder.frag_name.setText(currItem.getName());
itemViewHolder.frag_price.setText(Integer.toString(currItem.getPrice()));
itemViewHolder.frag_date.setText(currItem.getDatePurhase());
}
@Override
public int getItemCount() {
return mExpenseList.size();
}
}
的示例。
SUMPRODUCT
所有单元格/范围都应固定,但“ specific_name”除外。
此外,我通常喜欢索引我的行和列,而不是=INDEX(header_row,SUMPRODUCT((names=specific_name)*(COLUMN(header_row)-COLUMN(header_row_first_cell)+1)))
废话。因此,在标题上方,我将对第1到3列进行编号,并简单地使用该范围。
COLUMN(header_row)-COLUMN(header_row_first_cell)+1