我试图打印另一张纸上的错误,但无法弄清楚如何

时间:2018-03-26 17:21:44

标签: google-sheets

所以数据是敏感的,所以我不能在这里给出一个链接,但这是基础

详情

对于atm遇到问题的数据:

column range = K:QR
row range  = 3:98  is where the main data is
row range = 99:196 is filled with function that check for errors in rows 3:98

从K开始,这些列与学生配对,另一个用于辅导,文档的目的是参加。(例如:K3:K98有学生信息,L3:L98有导师信息)

在K99我有这个公式

=if(
   or(
     {
       and(K3 = "MRT", isblank(L3)),
       and(K3 = "MST", isblank(L3)),
       and(K3 = "RT", isblank(L3)),
       and(K3 = "ST", isblank(L3)),
       and(istext(L3), isblank(K3))
     }
   ),
   $B3 & " " & $C3,
   ""
 )

这会在单元格K3和L3中查找错误然后如果找到一个在单元格中打印学生姓名

在L99中,除了在发现错误时输出日期而不是名称

之外,它具有相同的确切公式

我已经复制了K99和L99并通过K99粘贴了它:QR:196这应该对我需要的文件中的每个细胞对进行低频处理(我知道我需要调整范围,我计划稍后进行处理)

我现在需要做的就是查看K99:QR:196并查看我的功能是否发现任何错误,如果是这样,请将该信息全部合并到另一张纸上的一行中,删除任何空白单元格,但我似乎无法看到弄清楚这部分

修改

我忘了提及K3中的所有内容:QR98已经过数据验证。学生专栏有不同的代码,例如学生缺席或者他们有替代导师或类似的东西,导师小区只有一个所有导师的下拉列表。因此,如果学生专栏旁边的单元格显示他们实际上与某种导师合作,我只需要教师专栏中的信息。这就是我所制定的公式,它会检查学生单元格中是否有一个代码表明他们与导师一起工作,然后需要在该导师栏中提供信息,否则如果学生没有,那么导师栏将是空的。与任何人合作。它还会检查教师列中的theres信息,但是如果有人输入数据并且忘记输入学生信息并且只是把导师放在学生中,那么该信息是

旁注

我只发布了几次堆栈溢出和前一次我的作用域范围太宽并且得到了大量的downvotes所以如果有任何错误或上下文需要更改以符合发布标准请让我知道在评论中需要改变什么或如何改变,并使改变适应相应。 (我也尝试为代码添加4个空格,但出于某种原因,在2之后它会下降)

1 个答案:

答案 0 :(得分:0)

JOIN / SPLIT组合会有所帮助:

Byte[] file;
using (MemoryStream mem = new MemoryStream())
{
    using (SpreadsheetDocument spreadsheetDocument = 
        SpreadsheetDocument.Create(mem, SpreadsheetDocumentType.Workbook))
    {
        WorkbookPart workbookpart = spreadsheetDocument.AddWorkbookPart();
        workbookpart.Workbook = new Workbook();
        WorksheetPart worksheetPart = workbookpart.AddNewPart<WorksheetPart>();
        worksheetPart.Worksheet = new Worksheet(new SheetData());

        Sheets sheets = spreadsheetDocument.WorkbookPart.Workbook.
            AppendChild<Sheets>(new Sheets());

        Sheet sheet = new Sheet()
        {
            Id = spreadsheetDocument.WorkbookPart.
                GetIdOfPart(worksheetPart),
            SheetId = 1,
            Name = "aStupidSheet"
        };
        sheets.Append(sheet);
        workbookpart.Workbook.Save()
        spreadsheetDocument.Close();
    }
    file = mem.ToArray();
}