电子表格中的条件求和

电子表格中的条件求和

我有一张表格,其中有一列包含一些数字,有正数,也有负数。

我想分别对正数和负数进行求和,但不想在sum宏中明确提及单元格地址。

我不知道有什么方法可以自动完成此操作?我的表类似于以下 MWE。

\documentclass{article}

\usepackage{spreadtab}

\begin{document}
\begin{spreadtab}{{tabular}{r|c}}
         1 & randint(-10, 10)  \\
         \STcopy{v}{a1+1} & randint(-10, 10)  \\ 
          & randint(-10, 10)  \\ 
          & randint(-10, 10)  \\ 
          & randint(-10, 10)  \\ 
          & randint(-10, 10)  \\ 
          & randint(-10, 10)  \\ 
          & randint(-10, 10)  \\ 
\hline
    @Total Sum &  :={sum(b1:[0,-1])}\\  
    @Pos. Nums Sum &  \\
    @Neg. Nums Sum  & \\  
\end{spreadtab}

\end{document}

答案1

您可以使用隐藏的帮助列:

\documentclass{article}

\usepackage{spreadtab}
\usepackage{booktabs}

\begin{document}
\begin{spreadtab}{{tabular}{rc}}
  1 & \STcopy{v}{randint(-10, 10)}
    & \STcopy{v}{ifgt(!b1,0,!b1,0)}\SThidecol
    & \STcopy{v}{iflt(!b1,0,!b1,0)}\SThidecol \\
  \STcopy{v}{a1+1} &&& \\ 
   &&&\\ 
   &&&\\ 
   &&&\\ 
   &&&\\ 
   &&&\\ 
   &&&\\ 
  \midrule
  @Total Sum     & :={sum(b1:[0,-1])} &&\\  
  @Pos. Nums Sum & :={sum(c1:[1,-2])} &&\\
  @Neg. Nums Sum & :={sum(d1:[2,-3])} &&\\  
\end{spreadtab}

\end{document}

相关内容