Avatar billede andersen112 Juniormester
01. marts 2017 - 18:07 Der er 5 kommentarer og
1 løsning

interpolation

Hej med jer
Hvordan få jeg nemmest løst noget interpolation. Jeg kan selv kun løse en celle ad gangen.
tal i kolonner er faste og så skal der interpoleres til tal i kolonne a(x)
Række 2 skal give
2,01    1840,85    44,821    45,5921    9,7021    4523,52    1013,32


Herunder tal til interpolation


2,00    1830,1    44,821    45,605    9,72    4511,1    1012,3
2,01                       
2,02                       
2,03                       
2,04                       
2,05                       
2,06                       
2,07                       
2,08                       
2,09                       
2,10    1937,6    44,821    45,476    9,541    4635,3    1022,5
2,11                       
2,12                       
2,13                       
2,14                       
2,15                       
2,16                       
2,17                       
2,18                       
2,19                       
2,20    2045,1    44,821    45,347    9,362    4759,4    1032,7
Avatar billede claes57 Ekspert
01. marts 2017 - 18:42 #1
i b2 (lige under 1830,1) skal du finde ud af stigningen i forhold til b1.
Så 1937,6 - 1830,1 er ændringen, og 2,1 - 2,0 er interval. Så der er ændret (1937,6 - 1830,1) / 10 pr interval = 10,75 + 1830,1, så b2 = 1840,85
I c1 til c10 wer der ingen ændring, så c2 er stadig 44,821
Du må selv lave formlen i regnearket - det er din del. Jeg har vist princippet.
Avatar billede jens48 Ekspert
01. marts 2017 - 18:48 #2
Hvis tallene står i cellerne A1:G21 kan du i celle B2 indsætte nedenstående formel og kopiere den til hele området B2:G10

=B$1+(B$11-B$1)*($A2-$A$1)/($A11-$A$1)

Formelen skal så modificeres før den kan sættes ind i næste hold tomme celler
Avatar billede andersen112 Juniormester
01. marts 2017 - 18:50 #3
Hej igen
Jeg havde håbet på en formel så jeg kunne trække resultatet frem, så jeg håber på lidt mere hjælp, jeg kan godt lave 10 kolonner eller rækker på en gang, men vil gerne kunne lave det hele fra rå data

dette er rå data og det har jeg 70 linjer med

2,00    1830,1    44,821    45,605    9,72    4511,1    1012,3
2,10    1937,6    44,821    45,476    9,541    4635,3    1022,5
2,20    2045,1    44,821    45,347    9,362    4759,4    1032,7
Avatar billede jens48 Ekspert
01. marts 2017 - 19:17 #4
Der havde indsneget sig en fejl. Det skulle være:

=B$1+(B$11-B$1)*($A2-$A$1)/($A$11-$A$1)
Avatar billede jens48 Ekspert
01. marts 2017 - 21:05 #5
Så er det vist lettere med en makro. Prøv om denne virker:

Sub IndsætFormel()
Dim LastRow, x, y As Integer
LastRow = ActiveSheet.UsedRange.Rows.Count
For x = LastRow To 2 Step -1 ' to-tallet skal rettes så det er lig med første datarække plus 1
Range(Cells(x, 1), Cells(x + 8, 1)).EntireRow.Insert
For y = x To x + 8
Cells(y, 1) = Cells(y, 1).Offset(-1, 0) + 0.01
Cells(y, 2) = Cells(x - 1, 2) + (Cells(x + 9, 2) - Cells(x - 1, 2)) * (Cells(y - 1, 1) - Cells(x - 1, 1)) / (Cells(x + 9, 1) - Cells(x - 1, 1))
Cells(y, 3) = Cells(x - 1, 3) + (Cells(x + 9, 3) - Cells(x - 1, 3)) * (Cells(y - 1, 1) - Cells(x - 1, 1)) / (Cells(x + 9, 1) - Cells(x - 1, 1))
Cells(y, 4) = Cells(x - 1, 4) + (Cells(x + 9, 4) - Cells(x - 1, 4)) * (Cells(y - 1, 1) - Cells(x - 1, 1)) / (Cells(x + 9, 1) - Cells(x - 1, 1))
Cells(y, 5) = Cells(x - 1, 5) + (Cells(x + 9, 5) - Cells(x - 1, 5)) * (Cells(y - 1, 1) - Cells(x - 1, 1)) / (Cells(x + 9, 1) - Cells(x - 1, 1))
Cells(y, 6) = Cells(x - 1, 6) + (Cells(x + 9, 6) - Cells(x - 1, 6)) * (Cells(y - 1, 1) - Cells(x - 1, 1)) / (Cells(x + 9, 1) - Cells(x - 1, 1))
Cells(y, 7) = Cells(x - 1, 7) + (Cells(x + 9, 7) - Cells(x - 1, 7)) * (Cells(y - 1, 1) - Cells(x - 1, 1)) / (Cells(x + 9, 1) - Cells(x - 1, 1))
Next
Next
End Sub
Avatar billede jens48 Ekspert
01. marts 2017 - 21:20 #6
Og så uden fejl (forhåbentlig):

Sub IndsætFormel()
Dim LastRow, x, y As Integer
LastRow = ActiveSheet.UsedRange.Rows.Count
For x = LastRow To 2 Step -1 ' to-tallet skal rettes så det er lig med første datarække plus 1 (2 = ingen overskrift)
Range(Cells(x, 1), Cells(x + 8, 1)).EntireRow.Insert
For y = x To x + 8
Cells(y, 1) = Cells(y, 1).Offset(-1, 0) + 0.01
Cells(y, 2) = Cells(x - 1, 2) + (Cells(x + 9, 2) - Cells(x - 1, 2)) * (Cells(y, 1) - Cells(x - 1, 1)) / (Cells(x + 9, 1) - Cells(x - 1, 1))
Cells(y, 3) = Cells(x - 1, 3) + (Cells(x + 9, 3) - Cells(x - 1, 3)) * (Cells(y, 1) - Cells(x - 1, 1)) / (Cells(x + 9, 1) - Cells(x - 1, 1))
Cells(y, 4) = Cells(x - 1, 4) + (Cells(x + 9, 4) - Cells(x - 1, 4)) * (Cells(y, 1) - Cells(x - 1, 1)) / (Cells(x + 9, 1) - Cells(x - 1, 1))
Cells(y, 5) = Cells(x - 1, 5) + (Cells(x + 9, 5) - Cells(x - 1, 5)) * (Cells(y, 1) - Cells(x - 1, 1)) / (Cells(x + 9, 1) - Cells(x - 1, 1))
Cells(y, 6) = Cells(x - 1, 6) + (Cells(x + 9, 6) - Cells(x - 1, 6)) * (Cells(y, 1) - Cells(x - 1, 1)) / (Cells(x + 9, 1) - Cells(x - 1, 1))
Cells(y, 7) = Cells(x - 1, 7) + (Cells(x + 9, 7) - Cells(x - 1, 7)) * (Cells(y, 1) - Cells(x - 1, 1)) / (Cells(x + 9, 1) - Cells(x - 1, 1))
Next
Next
End Sub
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester