相对于谷歌工作表中的名称的条件格式日期

时间:2021-07-11 18:02:39

标签: google-sheets conditional-formatting

我对使用 google 表格和公式以及其他什么都不熟悉。

我正在尝试使用基于名称和日期是否都存在于另一个单元格范围内的条件格式来突出显示一行单元格。

在名称的情况下,我需要一个我已经很容易找到的完全匹配。

在日期的情况下,只有当 leftDate 小于(之前)或等于在另一个单元格范围内显示的 rightDate 时,我才需要突出显示。

例如, Names and Dates

在工作表的左侧部分,应突出显示包含 Jacob 的行,因为他的名字出现在工作表的右侧部分,并且日期在前。

由于日期晚了,因此工作表左侧部分中的 Nicks 行不会突出显示。

左侧的 Andrews 行会因日期相同而突出显示。

迈克行不会因为他的名字没有出现在右边。

到目前为止,为了比较我使用的是 COUNTIF 函数的名称,并且为了使名称和日期都起作用,我将它嵌套在 AND 函数中,就像这样

=AND(COUNTIF(leftNames = rightNames),COUNTIF(leftDates>=rightDates 与姓名相关))

名称部分有效,它是我正在努力解决的日期部分,抱歉冗长的解释。任何帮助表示赞赏!

谢谢

1 个答案:

答案 0 :(得分:0)

尝试范围 A3:D:

package com.myapplication.umdocededaisy;

import androidx.appcompat.app.AppCompatActivity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.google.android.material.floatingactionbutton.FloatingActionButton;

public class AddProduto extends AppCompatActivity {

    EditText editProduto, editValor, editQuantidade, editTipo;
    FloatingActionButton btnVoltar;
    Button btnSalvar;
    InputMethodManager inputManager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_add_produto);

        //Declarações objetos:
        editProduto = findViewById(R.id.editProduto);
        editValor = findViewById(R.id.editValor);
        editQuantidade = findViewById(R.id.editQuantidade);
        editTipo = findViewById(R.id.editTipo);
        btnVoltar = findViewById(R.id.btnVoltar);
        btnSalvar = findViewById(R.id.btnSalvar);
        inputManager = (InputMethodManager) getSystemService (Context.INPUT_METHOD_SERVICE);

        btnVoltar.setOnClickListener(v -> {
            Intent voltar = new Intent(AddProduto.this, MainActivity.class);
            startActivity(voltar);
        });

        btnSalvar.setOnClickListener(v -> {
            if(editProduto.getText().toString().isEmpty() || editValor.getText().toString().isEmpty() ||
                    editQuantidade.getText().toString().isEmpty() || editTipo.getText().toString().isEmpty())
            {
                Toast.makeText(AddProduto.this, R.string.strEmpty, Toast.LENGTH_SHORT).show();
            }else{
            MyDatabase myDB = new MyDatabase(AddProduto.this);
                MateriaPrima materiaPrima = new MateriaPrima();
                materiaPrima.setProduto(editProduto.getText().toString());
                materiaPrima.setValor(Float.parseFloat(editValor.getText().toString()));
                materiaPrima.setQuantidade(Float.parseFloat(editQuantidade.getText().toString()));
                materiaPrima.setTipo(editTipo.getText().toString());
                myDB.addProduto(materiaPrima);
        }
            reset();
            editProduto.requestFocus(); //focar no campo especificado
            inputManager.hideSoftInputFromWindow(btnSalvar.getWindowToken(), 0);
    });

    }
    void reset(){
        editProduto.setText(" ");
        editValor.setText(" ");
        editQuantidade.setText(" ");
        editTipo.setText(" ");
}
}

enter image description here