指定された列が同じ場合は、どのようにレコードを結合しますか?Excel:半複写されたレコードを(異なる列で)結合しますか?
は、ここで私が持っているものだ、と私が探している結果:あなたは彼らが大きく、醜いされて気にしない場合には、配列数式を使用して行うことができ
指定された列が同じ場合は、どのようにレコードを結合しますか?Excel:半複写されたレコードを(異なる列で)結合しますか?
は、ここで私が持っているものだ、と私が探している結果:あなたは彼らが大きく、醜いされて気にしない場合には、配列数式を使用して行うことができ
。この例はあなたが探しているものを行うはずです。重複したエントリの場合、それは単に(ケビン・モスのための代わりにプログラマーのプログレッシヴ)を最後に定義された値を取ります。
はC11とD11に次の式を入力し、Ctrl + Shiftキーを押し+適用するにはENTER配列の式。必要に応じて、下の行に数式をコピーすることができます。
= INDEX((IF(($ A11 = $ A $ 2:$ A $ 7)+($ B11 = $ B $ 2:$ B $ 7))= 2)+(C $ 2:C $ 7 < > A)= 2、$ A($ A)=($ B11 = $ B $ 2:C) C $ 7、 "")< ""、ROW($ A $ 1:$ A $ 6)、$ B $ 7))= 2)+(C $ 2:C $ 7 <> 0)))
これは少し何が起こっているか故障したが、確かにそれはまだかなり不透明です、申し訳ありません:
=INDEX(
(IF( # This IF statement collects all entries in a data field for a given Fname/Lname combination
(((($A11=$A$2:$A$7) + ($B11=$B$2:$B$7))=2) + (C$2:C$7<>""))=2, # Checks that First and Last Name Match, and Data field isn't empty
C$2:C$7, # Return data field if TRUE
"" # Return empty if FALSE
)),
MAX( # Take the highest index number, use it to select a row from the result of the IF statement above
IF(( # This IF statement returns an index number if the data field isn't empty
IF( # This IF statement collects all entries in a data field for a given Fname/Lname combination (copied from above)
(((($A11=$A$2:$A$7)+($B11=$B$2:$B$7))=2)+(C$2:C$7<>""))=2,
C$2:C$7,
"")
)<>"", # End of conditional statement
ROW($A$1:$A$6), # Value if TRUE (ROW used as an incrementing counter)
0 # Value if FALSE (0 will be ignored in the MAX function that uses this result)
)
)
)
ケビン・モス(Kevin Moss)の職業記述が2つの場合は、「プログラマー」と「プログラム」を別々のレコードとして保管したいと考えています。彼に2つの好きな人がいたら、私はそれを別々のレコードとしても保持したいと思っています。 私はコードがさらに悪化すると思います! – sojim2
これは最初の質問とはかなり異なっています。この時点では、あなたが求めているように、複数の結果を1つの結果にまとめる良い方法はわかりません。私はあなたの質問に答えたので、それを受け入れるのですか?予想される出力を使ってより詳細な例を投稿することができれば、あなたの最新の質問を手伝うことができるかもしれません。 – schoolie
はあなたのコードを表示します。 – findwindow
コードはありませんが、これはExcelの問題です。 – sojim2
あなたはvbaを排除しません。数式だけが必要な場合は、それを指定します。それにもかかわらず、あなたはまだあなたが試したことを示す必要があります。 – findwindow