フランシーヌはワークシートに一連の住所を持っています。家番号は1つの列(124、127、130など)にあり、通りの名前は隣接する列(Maple St.、Elm St.など)にあります。彼女は、最初に通りの名前でリストを並べ替え、次に家番号で並べ替える必要があります。最初に偶数を昇順で並べ替え、次に奇数を降順で並べ替えます。これにより、彼女はウォーキングツアー用に家のリストを順番に作成できるようになります。その後、人々は通りの偶数側を歩き、反対側に渡り、通りの奇数側を歩いて戻ることができます。彼女はこのタイプのソートをどのように行うのか疑問に思います。

Excelでは、並べ替え機能を使用して、情報を昇順と降順ですばやく並べ替えることができます。このオプションは多くの場合に役立ちますが、これは、並べ替えに使用できる値を決定するために数式が必要な場合の1つの例です。これを行うにはいくつかの方法があります。

各アドレスを奇数または偶数として指定する列を作成する必要があります。アドレスの番号部分がセルA1にあり、通りの名前がB1にあるとすると、3番目の列に次の数式を入力できます。

=IF(ISEVEN(A1),B1&"_0_"&A1,B1&"_1_"&MAX($A$1:$A$19)-A1)

この数式は、通りの名前と、並べ替えのみを目的としたいくつかの番号を返します。この時点で、作成した新しい列に数式をコピーして貼り付けます。アドレスごとに数式を入力したら、情報を並べ替えることができます。数式で昇順で並べ替えるだけです。 Excelは、要求に応じて、偶数の番地が昇順で、次に奇数の番地が降順であるアルファベット順の番地で住所を返します。

注:上記の式では、アドレスの範囲はA1:A19であると想定されています。これは、MAX($ A $ 1:$ A $ 19)の由来です。さらにアドレスがある場合は、数式のその部分に正しい範囲を入力します。

さらに別のアプローチは、次の式を使用することです。

=IF(MOD(A1,2)=1,(1+RANK(A1,A:A,1))/2,(COUNT(A:A)+RANK(A1,A:A)+1)/2)

この式によって返される数値は特に重要ではありません。基本的に、家番号に基づいて住所の相対的な順序を割り当てます。作成した列に数式をコピーして貼り付け、情報を並べ替えるだけです。次に、リストを最初に通りの名前で昇順で並べ替え、次に数式で降順に並べ替える必要があります。その結果、住所は希望どおりに並べ替えられます。

別のアプローチでは、次のように同じMOD式を使用することもできます。

=MOD(A1,2)(9999999-A12)+A1

この数式は、奇数アドレスの大きな数値と偶数アドレスの小さな数値の2種類の数値を返します。前の数式と同様に、作成した列に数式をコピーして貼り付けます。これが完了すると、情報を並べ替えることができます。最初に通りの名前で、次に数式で、両方とも昇順で並べ替える必要があります。 Excelは、偶数アドレスを最初に、奇数アドレスを2番目に降順で配置する式に基づいて、アドレスを並べ替えます。

ご覧のとおり、同じ情報を返すことができる数式がいくつかあります。それらをいじって、あなたとあなたのプロジェクトにとって意味のあるものを使用してください。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(8103)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。

link:/ excelribbon-Sorting_for_a_Walking_Tour [ウォーキングツアーの並べ替え]