1 つの参照から 2 つのエントリを作成する Excel 数式

1 つの参照から 2 つのエントリを作成する Excel 数式

Excel の列 A にすべてのデータがあり、数式を使用して列 B に入力したいと考えています。添付の​​画像を参照してください。

サンプル画像

参照セルで「&_x1」と「&_x2」を使用すると機能しますが、この場合の制限は、それを下にドラッグして、列 B の次のセルに同じ数式を適用できないことです。列 B の各行に移動して、参照セルを手動で調整する必要があります。

他に使用できるアプローチはありますか? 私の目標は、Row1-ColumnB に数式を追加した後、角を下にドラッグすると、列 B のすべての行が埋められることです。列 B の他のセルの数式を調整する必要はありません。最終的な表は、添付の画像とまったく同じになるはずです。

答え1

次の数式により、必要な列が作成されます。

SPILL説明から、正式なテーブルにデータを入力することが明らかなので、テーブルでは機能しない機能を使用しない方法で入力しました。

=INDIRECT("A" & ROUNDUP(ROW()/2, 0)) & "_x" & IF(MOD(ROW(),2)=1, 1, 2)

ソース セルのアドレス指定は、列の文字と数式から作成した文字列を使用して実行されますINDIRECT()。数式は行番号を 2 で割り、切り上げます。2 で割ると、各入力のペアが得られます。セットごとに 5 つのアイテムが必要な場合は、5 で割るなどします。

「_x1」と「_x2」に必要な「1」または「2」の値は、別の算術演算で取得されます。今回はMOD()2 を除数として使用し、1 (奇数行) または 0 (偶数行) を取得します。 は、IF()どちらであるかをテストし、文字列のその部分を構築するための正しい 1 または 2 を返します。

(テーブルを使用しておらず、機能が必要な場合は、 の代わりにSPILLを使用して同様のことを実行し、除算する数値を生成することもできます。または、より複雑な方法として、 を使用して行の値を直接生成することもできます。)SEQUENCE()ROW()

答え2

これを試すことができます:

ここに画像の説明を入力してください

  • セル B42 の配列 (CSE) 数式:

    {=INDEX($A$42:$A$45, MATCH(FALSE, COUNTIF($B$41:B41, $A$42:$A$45)=2, 0))}

  • フォーミュラを仕上げるCtrl+Shift+Enter必要になるまで補充してください。

  • 2セル内の数式でB42からの値を繰り返すのに役立ちA42:A45、編集可能です。

  • セル C42 の数式: =IF(COUNTIF(B$42:$B42,$B42)=1,B42&"_x1",IF(COUNTIF(B$42:$B42,$B42)=2,B42&"_x2",""))

  • または、これも使用できます: =IF(COUNTIF(B$42:$B42,$B42)=1,B42&"_x1",B42&"_x2")

注意

  • 必要に応じて数式内のセル参照を調整します。
  • 見やすくするために、ヘルプ列を非表示にすることができます。

関連情報