A method for analyzing complex NMR spectra, which utilizes an iterative technique on the spin energy levels, is described. We show how the experimental energy levels and their errors are derived from the observed spectrum and the assignment of the various transitions. We discuss several techniques and methods that are helpful in obtaining this assignment. Sum rules for the energy levels and the intensities of the transitions, useful in the analysis, are also pointed out. With the iterative procedure, which uses the eigenvectors of an approximate Hamiltonian, we then calculate the changes in the chemical shielding constants and the spin-spin coupling constants necessary to adjust the approximate energy levels toward the experimental ones. The probable errors in the derived magnetic parameters are also readily determined.