Google Sheets IF AND OR Logic

时间:2019-02-26 14:51:10

标签: google-sheets logical-operators google-sheets-formula

我正在Google表格上建立一个计分系统,而我在为最后一步所需要的逻辑上苦苦挣扎。

This question可能是相关的,但我似乎无法应用该逻辑。

已测试了多种化学物质,每种化学物质均给出了检测量(AD),每种化学物质均具有允许的基准量(AL)。根据AL和AD,我们计算AD / AL =%AL。

总分(TS)是根据加法和加权公式计算得出的,该公式考虑了各个%AL,但我不再赘述。

对我来说,最后一步是“计算”显示得分(DS),其中有一些规则,这是我需要的逻辑。规则如下:

  • 如果任何%Al超过100(这也会使TS> 100),并且DS应该显示“ 100 +”
  • 如果%AL均不超过99(TS可能高于或低于100),则DS不能超过99,因此应该显示TS,最大值为99。

    我想在工作表本身中执行此操作。我认为正确的工具是逻辑运算符IF,AND,OR。

我做了很多尝试,包括:(我将单元格引用替换为我上面使用的首字母缩写词)

class App extends Component {
  constructor(){
    super();
    this.state = {
      turn: 'X',
      gameEnded: false,
      board: Array(9).fill(''),
      totalMoves : 0
    }
  }
  clicked(event){
    if(this.state.gameEnded == true) return;
    if( this.state.board[event.target.dataset.square] === ''){
    this.state.board[event.target.dataset.square] = this.state.turn;
    event.target.innerText = this.state.turn;
    this.setState({
      turn: this.state.turn === 'X' ? 'O' :'X',
      totalMoves: this.state.totalMoves+1
    })
  }
  var result = this.checkWinner();}
  reset(){
      var board = this.state.board;
      for(let j=0;j < 9 ; j++){
         board[j] = null;
      }
      console.log(this.state.board);}
render() {
    return (
      <div id="board" onClick={(e)=>this.clicked(e)}>
            <div className= "square"  data-square= "0" ></div>
            <div className= "square"  data-square= "1"></div>
            <div className= "square"  data-square= "2"></div>
            <div className= "square"  data-square= "3"></div>
            <div className= "square"  data-square= "4"></div>
            <div className= "square"  data-square= "5"></div>
            <div className= "square"  data-square= "6"></div>
            <div className= "square"  data-square= "7"></div>
            <div className= "square"  data-square= "8"></div>
      </div>
      <div id="foot"><button className="button" onClick={()=>this.reset()}>Reset</button></div>
      </div>
    ); }}

我还试图考虑如何在Python中解决此问题(只是为了探索它,我不想使用Python作为解决方案)。这是我的尝试:

如果最大%AL <100:     如果TS <100:         打印(TS)     其他:         打印(“ 99”) 其他:     如果TS> 100:         打印(“ 100 +”)

这些是我试图解决问题的尝试。我将不胜感激。

这是指向我的工作表副本的链接:https://docs.google.com/spreadsheets/d/1ZBnaFUepVdduEE2GBdxf5iEsfDsFNPIYhrhblHDHEYs/edit?usp=sharing

1 个答案:

答案 0 :(得分:2)

请尝试:

=if(max(RANGE_OF_%ALS)>1,"100+",if(max(RANGE_OF_%ALS)<=0.99,MIN(TS,0.99),"?"))