C# 如何检查Excel单元格是否属于某个范围,以及其相对于该范围的地址

C# 如何检查Excel单元格是否属于某个范围,以及其相对于该范围的地址,c#,excel,office-interop,C#,Excel,Office Interop,在我的C#应用程序中,我使用sheet.UsedRange查找工作表中的数据范围 我需要检查特定单元格C13是否属于UsedRange;如果它属于,那么它的行号和列号是多少 例如,如果范围从第10行和第B列开始,那么C13是范围内的第4行和第2列 我在这里发现了一个类似的问题: 这里给出的解是相交法 但是在C#中,Excel.ApplicationClass的Intersect方法需要大量参数,虽然我可以将Missing.Value传递给这么多参数,但我想知道除了使用Intersect方法之外

在我的C#应用程序中,我使用sheet.UsedRange查找工作表中的数据范围

我需要检查特定单元格C13是否属于UsedRange;如果它属于,那么它的行号和列号是多少

例如,如果范围从第10行和第B列开始,那么C13是范围内的第4行和第2列

我在这里发现了一个类似的问题:

这里给出的解是相交法

但是在C#中,Excel.ApplicationClass的Intersect方法需要大量参数,虽然我可以将Missing.Value传递给这么多参数,但我想知道除了使用Intersect方法之外是否还有其他方法

谢谢。

这行吗

    private static string GetRelativeAddress(Range cell, Range range)
    {
        int startRow = range.Row;
        int startColumn = range.Column;
        int endRow = range.Row + range.Rows.Count - 1;
        int endColumn = range.Column + range.Columns.Count - 1;

        if (cell.Row >= startRow && cell.Row <= endRow &&
            cell.Column >= startColumn && cell.Column <= endColumn)
        {
            return $"R{cell.Row - startRow + 1}C{cell.Column - startColumn + 1}";
        }
        return String.Empty;
    }
私有静态字符串GetRelativeAddress(范围单元格,范围)
{
int startRow=range.Row;
int startColumn=range.Column;
int endRow=range.Row+range.Rows.Count-1;
int endColumn=range.Column+range.Columns.Count-1;

如果(cell.Row>=startRow&&cell.Row=startColumn&&cell.Column Hello AllSolutions…如果要检查单元格C13是否在usedRange中,是否可以在使用getRange之前检查C13单元格?如果它包含数据,则它将在usedRange中。至于获取其相对于usedRange的单元格位置,这可能是一个挑战长度。C13数据是唯一的吗?如果是,请通过usedRange查找其位置?