I have a spreadsheet which I use to record species presence and abundance within a number of woodland zones (see excerpt below). The spreadsheet also contains a lot of other data about each species.
I choose from a current list of c.1100 species (Column F), selecting the letter that corresponds to their abundance (I-N), using the DAFOR Scale (Dominant; Abundant; Frequent; Occasional; Rare) or “Present”, if I do not yet know their abundance, or “?” if I am unsure about the species. There are 25 Zones in total in each sheet.
Numbers of species per zone, and total numbers of species, are then easily calculated. “?”s are excluded from the count.
However I also need to be able to output various lists which accumulate the species found, together with their abundance in some cases, by Zone, and by various other parameters, e.g. species types (Column FN), invasive species (AO), and so on.
Separator would be “; “, with a “.” at the end of each list. Blanks should not be included.
e.g. in this example:
- A list of herbs found within Zone 2 with abundance would return: “Alexanders ?; Allseed D; American willowherb P.”
- A list of all invasive species without abundance would return just: “American willowherb.”
- A list of all species without abundance would return: “Alexanders; Allseed; Almond willow; Alpine currant; American willowherb.”
In reality the lists often run to hundreds of species.
I need to be able to use this out in the field, on a mobile device (ruggedised laptop) with limited battery and processing power, and often for the best part of a day. I therefore need the process to be as efficient as possible.
So my question is: is there a quick/efficient way to build some or all of this?
I have managed to achieve most of this, mostly in a separate tab, using TEXTJOIN, and various other standard functions. However it is achieved in such a hugely convoluted manner, using so many formulae and cells (literally thousands) that it would be very hard to demonstrate it here.
It kind of works, but runs very slowly, and freezes up completely on occasion, presumably because each entry I make then necessitates a large amount of resource for each output, even though many of the outputs will be NULL. The formulae also break very easily.
Thank you
