Precedenser och beroende
Introduktion
- Föregående celler är celler som refereras till av en formel i en annan cell. Till exempel, om cell D10 innehåller formeln =B5, är cell B5 en föregående cell till cell D10.
- Beroendeceller innehåller formler som hänvisar till andra celler. Till exempel, om cell D10 innehåller formeln =B5, är cell D10 beroende av cell B5.
För att göra kalkylarket lättläst vill du kanske tydligt visa vilka celler på ett kalkylblad som används i en formel. På liknande sätt kan du vilja extrahera de beroende cellerna för andra celler.
Aspose.Cells låter dig spåra celler och ta reda på vilka som är länkade.
Spåra precedens- och beroendeceller: Microsoft Excel
Formler kan ändras baserat på ändringar som görs av en klient. Till exempel, om cell C1 är beroende av C3 och C4 som innehåller en formel, och C1 ändras (så formeln åsidosätts), måste C3 och C4, eller andra celler, ändras för att balansera kalkylarket baserat på affärsregler.
På liknande sätt, anta att C1 innehåller formeln “=(B122)/(M2N32)”. Jag vill hitta de celler som C1 är beroende av, dvs. precedenscellerna B1, M2 och N32.
Du kan behöva spåra beroendet för en specifik cell till andra celler. Om affärsregler är inbäddade i formler vill vi ta reda på beroendet och utföra några regler baserat på det. På liknande sätt, om värdet på en specifik cell ändras, vilka celler i arbetsbladet påverkas av den ändringen?
Microsoft Excel tillåter användare att spåra precedenser och beroenden.
- På Visa verktygsfältet, välj Formelrevision
- Spåra Precedenser:
- Välj den cell som innehåller formeln för vilken du vill hitta precedensceller.
- För att visa en spårpil till varje cell som direkt tillhandahåller data till den aktiva cellen, klicka på Spåra Precedenser på verktygsfältet för formelgranskning.
- Spåra formler som refererar till en specifik cell (beroenden)
- Välj den cell för vilken du vill identifiera de beroende cellerna.
- För att visa en spårpil till varje cell som är beroende av den aktiva cellen, klicka på Spåra Beroenden på verktygsfältet för formelgranskning.
Spårar föregående och beroende celler: Aspose.Cells
Spårar föregående
Aspose.Cells gör det enkelt att få föregående celler. Den kan inte bara hämta celler som ger data till enkla formelföregångare utan också hitta celler som ger data till komplexa formelföregångare med namngivna områden.
Aspose::Cells::Startup(); | |
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C | |
//Path of input | |
U16String dirPath(u""); | |
//Path of output | |
U16String outPath(u""); | |
//Path of input excel file | |
U16String samplePrecedentsAndDependents = dirPath + u"samplePrecedentsAndDependents.xlsx"; | |
//Load source Excel file | |
Workbook workbook(samplePrecedentsAndDependents); | |
//Calculate workbook formula | |
workbook.CalculateFormula(); | |
//Access first worksheet | |
Worksheet worksheet = workbook.GetWorksheets().Get(0); | |
//Access cell F6 | |
Cell cell = worksheet.GetCells().Get(u"F6"); | |
//Get precedents of the cells and print them on console | |
std::cout << "Printing Precedents of Cell: "; | |
std::cout << cell.GetName().ToUtf8() << std::endl; | |
std::cout << u"-------------------------------" << std::endl; | |
ReferredAreaCollection refac = cell.GetPrecedents(); | |
int count = refac.GetCount(); | |
for (int i = 0; i < count; i++) | |
{ | |
ReferredArea refa = refac.Get(i); | |
int row = refa.GetStartRow(); | |
int col = refa.GetStartColumn(); | |
cell = worksheet.GetCells().GetCell(row, col); | |
std::cout<<cell.GetName().ToUtf8() << std::endl; | |
} | |
Aspose::Cells::Cleanup(); |
Spårar beroende
Aspose.Cells låter dig få beroende celler i kalkylblad. Aspose.Cells kan inte bara hämta celler som tillhandahåller data om en enkel formel utan även hitta celler som tillhandahåller data till beroende komplexa formler med namngivna områden.
Aspose::Cells::Startup(); | |
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C | |
//Path of input | |
U16String dirPath(u""); | |
//Path of output | |
U16String outPath(u""); | |
//Path of input excel file | |
U16String samplePrecedentsAndDependents = dirPath + u"samplePrecedentsAndDependents.xlsx"; | |
//Load source Excel file | |
Workbook workbook(samplePrecedentsAndDependents); | |
//Calculate workbook formula | |
workbook.CalculateFormula(); | |
//Access first worksheet | |
Worksheet worksheet = workbook.GetWorksheets().Get(0); | |
//Access cell F6 | |
Cell cell = worksheet.GetCells().Get(u"F6"); | |
//Get dependents of the cells and print them on console | |
std::cout << "Printing Dependents of Cell: "; | |
std::cout << cell.GetName().ToUtf8() << std::endl; | |
std::cout << "-------------------------------" << std::endl; | |
//Parameter false means we do not want to search other sheets | |
Vector<Cell> depCells = cell.GetDependents(false); | |
//Get the length of the array | |
int len = depCells.GetLength(); | |
//Print the names of all the cells inside the array | |
for (int i = 0; i < len; i++) | |
{ | |
Cell dCell = depCells[i]; | |
std::cout << dCell.GetName().ToUtf8() << std::endl; | |
} | |
Aspose::Cells::Cleanup(); |