如何跨表格取满足条件的某一列数据的最小日期的函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何跨表格取满足条件的某一列数据的最小日期的函数相关的知识,希望对你有一定的参考价值。

第一个是A表,想要查找B表里面符合模号的最小的日期。B表里模号有重复的好几行,比如3805有18年的也有19年的,想取最小的日期,谢谢大神

在A表的C3单元格输入公式=IF(B3<>"",TEXT(MIN(IF(B表!A$2:A$1000=B3,B表!B$2:B$1000)),"yyyy年m月"),"")

数组公式,按CTRL+SHIFT+ENTER结束公式,使公式前后出现大括号后,下拉公式。(帮你把B表的区域引用设置到1000行,如果不够,自行修改即可)   如图:

参考技术A 直接在G8单元格中输入:
=SUMPRODUCT((MONTH($C$2:$C$17)=(--SUBSTITUTE($F8,"月","")))*($D$2:$D$17=G$7)*1)
右拉至J8然后下拉即可! 所有的统计数据都能输出。 公式中的17 要根据你的行数定,如源数据是100行,那么公式中的C17 D17都要改成C100 D100。
参考技术B

    使用minifs函数即可。

    =MINIFS(Sheet2!B:B,Sheet2!A:A,Sheet1!B2)

    如下图所示:

    版本太老不支持minifs函数的用下面的数组公式:

    =MIN(IF(Sheet2!A:A=Sheet1!B2,Sheet2!B:B,9^9))

    crtl+shift+enter产生花括号。

追问

非常感谢,大神,祝好运!

本回答被提问者采纳
参考技术C 如果是最新版的excel,试试MINIFS,非常简单。
非最新版的excel,就试试用下面这个公式吧。
在图中黄色单元格处填写
=MIN(IFERROR($B$2:$B$100/(SHEET1!$A$2:$A$100=B3),""))
务必注意这是数组公式,要按Ctrl+Alt+Enter完成输入,会自动出现花括号,再下拉填充。
参考技术D Sub MinDate()
  Dim t As Date
  For i = 3 To 10
    t = Date
    For j = 2 To Sheet2.UsedRange.SpecialCells(xlCellTypeLastCell).Row
      If Sheet2.Range("A" & j).Value = Sheet1.Range("B" & i).Value Then
        If Sheet2.Range("B" & j).Value < t Then t = Sheet2.Range("B" & j).Value
      End If
    Next j
    Sheet1.Range("C" & i) = t
  Next i
End Sub

在线等。。。。SQL中如何将一个表中的某一列的数据替换到另一个表中的某一列里。

两个表。
表A有以下三列:ID,land,num
表B有以下三列:ID,MC,QH。
两个表ID是相同的。
现在想把表A中的num列数据替换到表B中的QH列,但是对于QH列中已经存在的数据不替换。
这个语句该怎么写?
在线等。。。。

1、一个Student的数据表,这里我们呢需要对数据表中的StudentName数据表中的单个的数据进行修改。

2、我们首先打开我们的数据库查询语句,输入查询语句先查询一下数据表中的数据内容。

3、输入查询语句,:Select * from Student,输入完毕之后选择全部内容,然后选择执行按钮,执行SQL语句。

4、执行完毕之后,在我们的Student表中的第四行数据(StudentName中的“崔”)这里我们需要把它修改为“亮亮”。

5、 在你的数据表上,用鼠标右击选择里面的“编辑前200行”。

6、     这里我们直接选择里面的内容把它修改成“亮亮”。

7、修改完毕之后这里我们选择右击内容,然后选择里面的执行。

8、  执行完毕之后,同样的方式,我们用数据查询语句查询数据,这里我们可以在如下图中看到已经成功的修改了数据内容。

参考技术A 方法1:试试这样的语句能不能行:
update table_A set table_A.num=(select table_B.QH where table_B.ID=table_A.ID);
方法2.创建一个视图:
第一、 create view view_temp (select A.num as num,B.qh as qh) from A,B where A.ID=B.ID);
第二、更新view:
update view_temp set num=qh本回答被提问者采纳
参考技术B update b set b.QH=a.num from 表A a,表B b where a.ID=b.ID and b.QH is null
你没说数据库类型,如果是sqlserver的话,我这个语句就能用
参考技术C sql2000:
update B set b.QH=a.num from a,b where a.ID=b.ID and b.QH is null

oralce:
update B set b.qh=(select num from a where b.ID=a.ID) where b.qh is null
参考技术D update B set b.QH=(select a.num from a where a.id=b.id) where b.QH is null;
就这么简单.

以上是关于如何跨表格取满足条件的某一列数据的最小日期的函数的主要内容,如果未能解决你的问题,请参考以下文章

在SQL中,如何查询某一字段中最大值的数据

如何提取DataTable中的某一列字段的所有数据,进行运算

怎样隐藏DataTable中的某一列

两个表,根据条件批量更新其中一个表的某一列数据。(高分求救,在线等待。)

如何提取DataTable中的某一列字段的所有数据,进行运算

jtable的某一列的列宽怎么设置?