At those voltages, you can't tell what their SoC is--it's in the "flat" section of the discharge curve, so regardless of what their actual charged-up-capacity is, they all "look" the same.
You'd need to fully charge the battery first, to 3.4-3.65v per cell, or fully discharge it, to 2.8v to 2.5v per cell, to get them all at the same state, and then do the opposite, to see how much capacity each cell actually has relative to the others. You're probably going to have to manually charge or discharge cells during the first stage of this to make them all exactly equal in voltage before you do the second stage.
The ones that end up different from the rest at the end of the two-stage test have different capacity.
When charging, cells that fill up first are lower capacity.
When discharging, cells that empty first are lower capacity.
Regarding resistance, that amount of variation between them means they are very different from each other, and will only become worse over time. Without figuring out the formula and doing the math, my guesstimate is that the percentage of difference from 38-41 is something like 8-9%, which is very high. They probably also have equally significantly different capacities. They will never stay balanced, and the pack will only ever deliver, at best, the capacity and performance of the worst cell.
You can top or bottom balance them, and they will be at the same state of charge (balanced) at that moment, but as soon as you do anything to them or with them, they will no longer be balanced, and will never have the same capacity as each other.
So, rather than trying to keep them balanced, it would be better to first bring them all down to equal minimum voltage, and then charge them up to only about 3.3v, which is around 70% capacity. 3.35-3.4v is about 100% capacity resting, so you don't want to go that high, as it will then unbalance them again; if you can precisely charge to say, 3.31v you'll get a little more capacity, but it's tough to do manually. Then you never fully discharge them, staying within the "flat" range of the discharge capacity, staying up at 3.0-3.1v at minimum.
If you use a programmable BMS like JBD, you can set the LVC and HVC points for cell level shutodwn of charge and discharge, and d oing things this way will minimize the amount of balancing you ahve to do. Depending on the actual worst-cel-capacity, you won't really lose much if any usable capacity, dependign on the specific voltage you pick for HVC and LVC to keep them in the flat part of the curve.
Well-matched cells that are identical in characteristics will remain equal to each other, and balanced until they age enough to become different in characteristics. Cells like yours that are probably all different from each other will never be equal to each other and so they will never remain balanced.
This is one SoC charge for a LiFePO4 cell found via google
3.2V LiFePO4 Cell Voltage Chart
Voltage | Capacity |
---|
3.65V | 100% (charging) |
3.4V | 100% (resting) |
3.35V | 99% |
3.33V | 90% |
3.3V | 70% |
3.28V | 40% |
3.25V | 30% |
3.23V | 20% |
3.2V | 17% |
3.13V | 14% |
3.0V | 9% |
2.5V | 0% |