Excel中的数据操作:向后搜索行并仅提取非重复数据

时间:2017-04-25 13:34:42

标签: excel

我有一个除草剂应用数据集及其应用日期。 例如,原始数据集看起来像这样,其中' h1'是除草剂1,' d1'除草剂1等的施用日期(除草剂用大写字母表示):

Can't load log handler "java.util.logging.FileHandler"
java.nio.file.NoSuchFileException: path/${custom.home}/logs/server.log.lck
java.nio.file.NoSuchFileException: path/${custom.home}/logs/server.log.lck
    at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
    at sun.nio.fs.UnixFileSystemProvider.newFileChannel(UnixFileSystemProvider.java:177)
    at java.nio.channels.FileChannel.open(FileChannel.java:287)
    at java.nio.channels.FileChannel.open(FileChannel.java:335)
    at java.util.logging.FileHandler.openFiles(FileHandler.java:459)
    at java.util.logging.FileHandler.<init>(FileHandler.java:263)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at java.lang.Class.newInstance(Class.java:442)
    at java.util.logging.LogManager$5.run(LogManager.java:966)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.util.logging.LogManager.loadLoggerHandlers(LogManager.java:958)
    at java.util.logging.LogManager.initializeGlobalHandlers(LogManager.java:1578)
    at java.util.logging.LogManager.access$1500(LogManager.java:145)
    at java.util.logging.LogManager$RootLogger.accessCheckedHandlers(LogManager.java:1667)
    at java.util.logging.Logger.getHandlers(Logger.java:1777)
    at java.util.logging.Logger.log(Logger.java:735)
    at java.util.logging.Logger.doLog(Logger.java:765)
    at java.util.logging.Logger.log(Logger.java:788)

我在同一日期使用了连锁除草剂,所以现在数据集看起来像这样:

h1  d1          h2  d2          h3  d3          h4  d4          h5  d5
A   30/09/15    B   20/10/15    C   20/10/15    D   20/10/15    E   15/03/16
W   15/09/15    X   15/09/15    NA  15/09/15    Z   04/04/16    A   30/07/16
A   30/09/15    NA  NA          C   13/11/15    D   15/03/16    P   18/04/16
A   30/09/15    B   20/10/15    C   20/10/15    P   20/10/15    Q   20/10/15

下一步是我陷入困境。 我想创建一个看起来像这样的最终数据集,其中&#39; ap1&#39;是除草剂的第一次应用,&#39; ap.date1&#39;是第一种除草剂施用的日期:

h1  d1          h2  d2          [h1,h2] h3  d3          [h2,h3] [h1,h2,h3]  h4  d4          [h3,h4] [h2,h3,h4]  [h1,h2,h3,h4]   h5  d5          [h4,h5] [h3,h4,h5]  [h2,h3,h4,h5]   [h1,h2,h3,h4,h5]
A   30/09/15    B   20/10/15    FALSE   C   20/10/15    B + C   FALSE       D   20/10/15    C + D   B + C + D   FALSE           E   15/03/16    FALSE   FALSE       FALSE           FALSE
W   15/09/15    X   15/09/15    W + X   NA  15/09/15    X + NA  W + X + NA  Z   04/04/16    FALSE   FALSE       FALSE           A   30/07/16    FALSE   FALSE       FALSE           FALSE
A   30/09/15    NA  NA          FALSE   C   13/11/15    FALSE   FALSE       D   15/03/16    FALSE   FALSE       FALSE           P   18/04/16    FALSE   FALSE       FALSE           FALSE
A   30/09/15    B   20/10/15    FALSE   C   20/10/15    B + C   FALSE       P   20/10/15    C + P   B + C + P   FALSE           Q   20/10/15    P + Q   C + P + Q   B + C + P + Q   FALSE

我已将所有FALSE替换为NA,并且我已替换了包含&#39; + NA&#39;的任何连接条目,例如:

ap1     ap.date1    ap2             ap.date2    ap3   ap.date3   ap4     ap.date4
A       30/09/15    B + C + D       20/10/15    E     15/03/16  
W + X   15/09/15    Z               04/04/16    A     30/07/16
A       30/09/15    C               13/11/15    D     15/03/16   P       18/04/16
A       30/09/15    B + C + P + Q   20/10/15                

只需

W + X + NA

我不想保留任何NA。

我没有快乐地试过IF公式。

我已经尝试了

的公式
NA

标识包含文本的最后一个单元格的位置,但它不是很有用。

我已经广泛搜索了Google,但没有设法解决这个问题。

除草剂达到h7,有数千排。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

解决了!在朋友的帮助下使用查找表和concatenateIf。