If it is a simple thing then spreadsheets should do that well enough (convert hex to decimal, add whatever shift you want from column or whatever, turn decimal back).
If it is a more involved thing then you have two general approaches.
Some approaches will allow you to include an additional offset within the cheat format. You can set this addition to be what you want.
Otherwise you might be into something called slide codes, these being used more for setting a whole range of related addresses to something else (set all items in inventory to 99, set all party health to full when you have 20 party members and don't want 20 lines of cheat when it is better written as make these addresses say 999, there are 20 of them and they are all say 10 bytes apart) but could also be twisted to this if you wanted to do a particularly short loop..
Looking at
https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/features/cheats.md
type 0x5 and 0xA cheats said:
Code Type 0x5: Load Register with Memory Value
Code type 0x5 allows loading a value from memory into a register, either using a fixed address or by dereferencing the destination register.
Load From Fixed Address Encoding
5TMR00AA AAAAAAAA
- T: Width of memory read (1, 2, 4, or 8 bytes).
- M: Memory region to write to (0 = Main NSO, 1 = Heap, 2 = Alias, 3 = Aslr).
- R: Register to load value into.
- A: Immediate offset to use from memory region base.
Load from Register Address Encoding
5T0R10AA AAAAAAAA
- T: Width of memory read (1, 2, 4, or 8 bytes).
- R: Register to load value into. (This register is also used as the base memory address).
- A: Immediate offset to use from register R.
Code Type 0xA: Store Register to Memory Address
Code type 0xA allows writing a register to memory.
Encoding
ATSRIOxa (aaaaaaaa)
- T: Width of memory write (1, 2, 4, or 8 bytes).
- S: Register to write to memory.
- R: Register to use as base address.
- I: Increment register flag (0 = do not increment R, 1 = increment R by T).
- O: Offset type, see below.
- x: Register used as offset when O is 1, Memory type when O is 3, 4 or 5.
- a: Value used as offset when O is 2, 4 or 5.
Offset Types
- 0: No Offset
- 1: Use Offset Register
- 2: Use Fixed Offset
- 3: Memory Region + Base Register
- 4: Memory Region + Relative Address (ignore address register)
- 5: Memory Region + Relative Address + Offset Register
and the rest of the document you don't have a particularly easy way to add a further offset beyond the one included (compared to something like
https://doc.kodewerx.org/hacking_nds.html ) without rejigging the codes somewhat and frankly I would not really expect it owing to the way the Switch works compared to older consoles.
You do however have mathematical operations in such cheat codes, type 0x9 there being the currently suggested one but there is also type 0x7 that some in the past might have used.
Anyway
580F0000 06027470
5 means grab value from memory and stick it in register
8 means grab 8 bytes
0 means use the main NSO memory region (there are different regions with different purposes and isolated portions as this is more modern security than a lot of older systems).
F means put the data you grab in register F
00 means you are doing fixed address encoding (as opposed to using a register as a source for where you want to go)
The remaining data ( 00 06027470, probably usually written more as 0000 0602 7470) is where in memory to actually go.
You wanting to turn that last 0 into an 8 in your example (not sure why, could be different region, could be the next character in the list, could be instead do it for player 2, could be update to the game changed the layout marginally... it could matter but for this I am going with no).
Multiple approaches if simply using a spreadsheet is not going to cut it (code makers tend to organise code formats this way to allow for easier editing like this compared to burying addresses deep within the code and making the maths more annoying)
You could turn the code from fixed to register based, add a code before then to set the register, add 8 (or whatever) to it and go from there. Long winded but doable enough.
Slide codes if this is going to be for more then would involve setting up a 0x3 and some arithmetic, but you could also do it with 0x1 and 0x2 and some arithmetic.
For this I hope you have the basics of code loops. Any coding tutorial will give you this (
https://www.tutorialspoint.com/cprogramming/c_loops.htm , I don't any for Japanese if you would prefer but again almost any computer language will have this and probably refer back to the English terms anyway as most computer languages are made with that in mind).