Excel:如何按照设定值划分sumifs数组公式中的每个项目

时间:2016-01-03 15:42:02

标签: excel excel-formula excel-2016

我有一个电子表格,如下所示:

public class WelcomeFragment extends Fragment {

String mTitle;
int mLayoutID;
int mTitleID;

public WelcomeFragment() {

}

public WelcomeFragment newInstance(String title, int layoutID, int titleID) {

    WelcomeFragment mWelcomeFragment = new WelcomeFragment();

    mTitle = title;
    mLayoutID = layoutID;
    mTitleID = titleID;

    return mWelcomeFragment;
}

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    View rootView = inflater.inflate(mLayoutID,container,false);
    TextView textView = (TextView)rootView.findViewById(mTitleID);
    Typeface font = Typeface.createFromAsset(getActivity().getAssets(), "fonts/Roboto-Thin.ttf");
    textView.setText(mTitle);
    textView.setTypeface(font);

    return rootView;
}
}

现在,我想要一个公式来计算每个人为达到平等所需支付的金额,而只需支付所述人参与的事情。 目前,我执行以下操作:

A       B           C                 D              E
Status  payed by    involved          # of involved  price
payed   Felix       Felix, Peter            2        22,00 €
open    Timothy     Felix, Peter, Chelsea   3        90,00 €
open    Peter       Peter, Timothy          2        2,40 €
open    Chelsea     Chelsea, Felix          2        7,00 €

计算每个人已付多少钱。 然后,我想计算每个人必须付多少钱。 我的“梦想公式”是:

=SUMIFS(E2:E13; B2:B13; "*Peter*"; A2:A13; "open")

这样每个项目都会被所涉及的人数分开,然后将拆分部分添加到每个人的总数中。问题是,这样的数组公式不存在且无效。

我该如何纠正?谢谢!!!

2 个答案:

答案 0 :(得分:1)

下面将总结每个参与者的价格,其中状态是开放的并且涉及包含彼得

=SUM(IF(($A$2:$A$5="open") * (ISERROR(FIND("Peter", $C$2:$C$5)) = FALSE), $E$2:$E$5 / $D$2:$D$5, 0))

(它是一个数组公式,所以CTRL + SHIFT + ENTER)

仅供参考我提到过帖子here,值得一读

答案 1 :(得分:1)

尝试使用SUMPRODUCT()

=SUMPRODUCT((E2:E13/D2:D13)*(A2:A13 = "OPEN")*(ISNUMBER(SEARCH("Peter";C2:C13))))