MS Excel:一部の値が一定で、他の値がそうでない3文字の値を自動入力する必要がある


3

ここに示されているパターンを持つ行を(可能であれば-別の方法で喜んで)自動入力したいと思います。よりわかりやすい用語で、最初の文字は文字Iです。 、2番目の文字には1から増加する数字が含まれていますが、各数字は2回繰り返され、3番目の文字は文字Aと文字Bを交互に使用します。ありがとう!


単一行の列全体、または単一列の行全体に自動入力されますか?
fixer1234

回答:


3

この方法は、さまざまな問題に対して機能します。
3つの文字位置のそれぞれを列として取得し、それらすべてを4番目の列(単一のフィールド)に連結します。

最初の列[= "l"]または任意の定数文字
-連続する行にいくつかの "l"文字をドロップします。 -2
つ以上を選択して、フィルハンドル(選択ボックスの右下の四角い点)を下にドラッグします
。2番目の列[= 1,1,2,2,3,3、...]
-数値1をドロップします最初の2つのデータ行-3
番目の行、最初の行と1
番目の行に等しい数式を設定-4番目の行、2番目の行に等しい数式を設定-3
番目と4番目のエントリのみを選択し、フィルハンドルを下にドラッグします。
3番目の列[= A、B、A、B ...]
-1番目と2番目のデータ行にAとBを入力し、3番目と4番目のデータ行にもう一度入力
します。
4列目[I1A、I1B、I2A、I2B、I3A、I3B ...]
-他の3列を連結します
-塗りつぶしをドラッグします。

これを行う方法は他にもありますが、これはすべて再利用可能であり、問​​題のレベルに適したものです。

利点:
-いくつかの行をソートしたら、これを終末までドラッグするだけです。実際、4つの列すべてを一度にドラッグして遊ぶことができますが、ドラッグを開始するための適切な「高さ」(おそらく4)と正しい開始行を見つける必要があります。
-これらの単純な式により、何が起こっているのかを理解し、新しいタスクの必要に応じて変更するのは簡単です。
-このメソッドは、どこかに定義されたリストではなく、あなたの頭の中にあります。
欠点:
-いくつかの列を占有します。シートがそこに詰め込まれている場合、シートの中間バージョンが必要になる場合があります。


1

以下にいくつかの方法を示します。単一の行の列全体に数式を複製するのか、単一の列の行に複製するのかについての質問は明確ではありません。両方に表示します。

代替案1

このアプローチでは、以前のセルを調べて、必要なものを見つけます。パターンは2つのセルに基づいているため、最初の2つ(I1AおよびI1B)を入力する必要があります。次のセルにこの数式を入力します。

横断する場合最初の2つのセルがA1とB1の場合、これはC1に配置されます。

="I" & IF(MID(A1,2,1)=MID(B1,2,1),1,0) + MID(B1,2,1) & RIGHT(A1,1)

ダウンする 場合最初の2つのセルがA1とA2の場合、これはA3になります。

="I" & IF(MID(A1,2,1)=MID(A2,2,1),1,0) + MID(A2,2,1) & RIGHT(A1,1)

これは、文字列関数を使用して、変化する文字を抽出し、調整し、ピースを元に戻します(アンパサンドがピースを連結します)。最初の文字は定数です。

2番目の文字については、番号(中央の文字)が前の2つのセルで同じかどうかを調べます。もしそうなら、それを追加する時間1です。それ以外は同じままです。

最後の文字は他のすべてのセルを繰り返すため、前の2つのセルの値を使用するだけです。

3番目のセルに数式を作成したら、必要な限りコピーできます。方法1では、ワークシートのどこに配置してもかまいません。

代替案2

このアプローチでは、算術トリックを使用して、各セルに何が入るかを把握します。

中央のは、12列(または行)ごとに増加します。COLUMN関数は、列の番号(A = 1、B = 2など)を提供します。行関数は、行番号についても同じことを行います。列A(または行1)で開始する場合、すでに正しい開始番号があります。このパターンが後の列(または行)で始まる場合は、列(または行)番号より1少ない値を減算して開始値1を取得する必要があります。または行)、増分します。

横断する場合列Aから開始する場合、式のこの部分は次のようになります。

ROUND(COLUMN()/2,0)

たとえばC列(3列目)から開始すると、式は次のようになります。

ROUND((COLUMN()-2)/2,0)

下降する 場合行1から開始する場合、式のこの部分は次のようになります。

ROUND(ROW()/2,0)

たとえば3行目から開始すると、式は次のようになります。

ROUND((ROW()-2)/2,0)

以下の式全体で簡単なバージョンを示します。別の列(または行)から開始する場合は、調整されたバージョンを置き換えてください。

末尾の文字が交互になっているため、奇数(偶数)の列(または行)番号を基準にすることができます。

横断する場合奇数列から始める場合、この部分は次のようになります。

IF(MOD(COLUMN(),2)=0,"B","A")

開始列番号が偶数の場合、次のようになります。

IF(MOD(COLUMN(),2)=0,"A","B")

下降する場合奇数行で開始する場合、このピースは次のようになります。

IF(MOD(ROW(),2)=0,"B","A")

開始行番号が偶数の場合、次のようになります。

IF(MOD(ROW(),2)=0,"A","B")

MOD関数は、列(または行)数をで除算した後の余りを提供します2。偶数の列(または行)番号の剰余は0、奇数になり1ます。したがって、それに基づいて「A」と「B」の選択肢を順序付けます。以下の統合例では、奇数バージョンを示します。

まとめると次のことができます。

横断する場合:

="I" & ROUND(COLUMN()/2,0) & IF(MOD(COLUMN(),2)=0,"B","A")

下がる場合:

="I" & ROUND(ROW()/2,0) & IF(MOD(ROW(),2)=0,"B","A")

最初のセルに適切なバージョンを入力してから、必要な数のセルにコピーするか、コピーします。


両方とも適切に機能しているため、シンプルに見えますが、少し複雑です。パーフェクト10 Ra
ラジェッシュS

1

まず、1だけを入れて、その下にセルを空白のままにします。2この下にセルを空白のままにします。

image1

これらの4つのセルを選択し、数字を生成する限りコピーします

これにより、1、2、3、4 ...の間に1つの空白セルのギャップができます。

次に、1の隣の列に「I」&A1&「A」と入力します。A1は1のセルです。

上記の式を入力した下の行に、「I」&A1&「B」と入力し、

実際には、これは1の下の空白セルの隣のセルになります

セルB1にはI1A(上記の最初の式)があります。セルB2にはI1B(上記の2番目の式)があります。

image2

B1:B2を選択し、最初のステップで1,2,3、...を埋めるまでコピーします

B列にリストがあります。

image3

これが行われているExcelファイル


1
Excelで動作しますが、LO Calcはそれほどスマートではありません。他のスプレッドシートでは必ずしも機能しませんが、+ 1。
fixer1234

OPはmicrosoft-excelにタグを付けているため、MS Excelのソリューションのみを探しています。彼または誰かが他のスプレッドシートを望んでいる場合、彼らはそう言うでしょうし、それから私は何ができるかを見るでしょう。
VSRawat

1
答えはOPだけのものではありません。スプレッドシートの場合、他の一般的な「互換性のある」スプレッドシートのユーザーに対してソリューションが機能するのはいつでも素晴らしいことです。すべてのソリューションがそうなるわけではありません。ソリューションが別のアプリでは機能しないことを誰かが発見した場合(または作成者がそれを知っている場合)、別のアプリで機能させようとする読者のフラストレーションを軽減するために、回答またはコメントでそれを示すことをお勧めします。それでも、質問にはExcelというタグが付けられており、これはExcelでも機能します。他のアプリのユーザーが常にすべてのソリューションを利用できるとは限りません。:-)
fixer1234

1
賛成です。それが私が賛成した理由です。あなたの答えには何も問題はありません。私のポイントは、このサイトの目的はソリューションの知識ベースであり、OP以外の人がそれらを共有できることです。「互換性のある」アプリ(Excel、LO Calc、Googleスプレッドシートなど)は同一であると考えがちであるため、どのアプリでもどのソリューションでも機能することを期待しています。常にそうとは限りません。ソリューションが「互換性のある」アプリでは機能しないことがわかっている場合、それらのアプリのユーザーが時間を無駄にしないように、または機能しないと文句を言うのは礼儀です。他のユーザーはその理由を理解するのに時間を無駄にします。:-)
fixer1234

1
この質問ではありませんが、私は他の人にそれをやった。Googleスプレッドシートはトピック外です。質問が適切なサイトに投稿され、そのアプリで回答が機能するようになれば、誰にとっても便利です。多くのソリューションはアプリ間で機能しますが、機能しないものもあります。質問に正確なタグが付けられていれば、OPにとって問題ではありません。主な問題は、他のアプリのユーザーがスプレッドシートソリューションを見て、それが彼らのために働くことを期待していることです。私たちは通常、普遍的な解決策を試みないため、これは「困難な作業」ではありません。解決策はそれです。ただし、互換性がないことがわかっている場合は、注意してください。
fixer1234
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.