public static object[,] fUtilityArrayIgnoreNA(object[] array) { List <object> output = new List <object>(); foreach (object entry in array) { if (entry is ExcelDna.Integration.ExcelError == false) { output.Add(entry); } } return(ExcelFriendlyConversion.ArrayToVerticalObject(output.ToArray())); }
public static object[,] fUtilityGetIntersection(object[] array1, object[] array2) { var list1 = array1.ToList(); var list2 = array2.ToList(); var group1 = from n in list1 group n by n into g select new { g.Key, count = g.Count() }; var group2 = from n in list2 group n by n into g select new { g.Key, count = g.Count() }; var joined = from b in group2 join a in group1 on b.Key equals a.Key select new { b.Key, Count = Math.Min(b.count, a.count) }; return(ExcelFriendlyConversion.ArrayToVerticalObject(joined.SelectMany(a => Enumerable.Repeat(a.Key, a.Count)).ToArray())); }
public static object[,] fUtilityGetDistinctValues(object[] array) { var list = array.ToList <object>(); return(ExcelFriendlyConversion.ArrayToVerticalObject(list.Distinct().ToArray())); }