• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel2007でVBAでも関数でも構いません。)

Excel2007での表示方法について

このQ&Aのポイント
  • Excel2007で特定のセルの表示方法についてお尋ねします。具体的には、A列とB列のセルを指定し、特定のセルのみを表示させる方法を知りたいです。
  • Excel2007でのセルの表示方法について教えてください。A列とB列のセルを指定し、特定のセルのみを表示する方法が知りたいです。
  • Excel2007でA列とB列のセルの表示方法について教えてください。特定のセルのみを表示させる方法を知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

1行目は項目名または空の行として2行目から下方にデータがあるとします。 C2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(A2="","",IF(AND(COUNTIF($C$1:$C1,A2)=0,COUNTIF($D$1:$D1,A2)=0),A2,IF(AND(COUNTIF($C$1:$C1,A2)>0,COUNTIF($D$1:$D1,A2)=0),"",IF(AND(COUNTIF($C$1:$C1,A2)=0,COUNTIF($D$1:$D1,A2)>0),A2,IF(AND(MATCH(A2,$C$1:$C1,0)<MATCH(A2,$D$1:$D1,0),COUNTIF($C$1:$C1,A2)=COUNTIF($D$1:$D1,A2)),A2,IF(AND(MATCH(A2,$C$1:$C1,0)>MATCH(A2,$D$1:$D1,0),COUNTIF($C$1:$C1,A2)<COUNTIF($D$1:$D1,A2)),A2,"")))))) D2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(B2="","",IF(AND(COUNTIF($C$1:$C1,B2)=0,COUNTIF($D$1:$D1,B2)=0),B2,IF(AND(COUNTIF($C$1:$C1,B2)>0,COUNTIF($D$1:$D1,B2)=0),B2,IF(AND(COUNTIF($C$1:$C1,B2)=0,COUNTIF($D$1:$D1,B2)>0),"",IF(AND(MATCH(B2,$C$1:$C1,0)>MATCH(B2,$D$1:$D1,0),COUNTIF($C$1:$C1,B2)=COUNTIF($D$1:$D1,B2)),B2,IF(AND(MATCH(B2,$C$1:$C1,0)<MATCH(B2,$D$1:$D1,0),COUNTIF($C$1:$C1,B2)>COUNTIF($D$1:$D1,B2)),B2,""))))))

y_r_358
質問者

お礼

イメージ通りのものでした。 おかげさまで、大変助かりました。 ここで、お礼を言うだけでは申し訳ないほどです。 せめて、心をこめてありがとうございました。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

下記をお礼欄で補足してください。 この質問者が解決することがニーズが第1義であるが、のほかに たとえ既出解答が正しくても、今後WEB照会などでこの質問を見る人は、何のことか判っているほうが良い。あから判るようにしたい。質問者の例の説明を整理すると(-は空白セルを現す、左へ桁寄せされるのを防止のため) A1:D10(下記を、このままコピーしてシートに貼り付けられると思うが) A B C D列      説明 ● - ● - A1が●なのでそのまま● ● - - - A1が●なのでC2は空白、B2は●がないので空白 - - - - A3及びB3共に空白なのでここも空白 ● - - - A4は●ですが連続して同じ方向に●は付けない条件としてC4は空白、B4は空白なので空白 - - - - A5とB5は共に空白なので、C5とD5も共に空白 - ● - ● A6は空白なのでC6は空白、B6は●なのでD6は● - - - - A7とB7は空白なので、C7とD7も共に空白 - ● - - A8は空白なのでC8は空白、B8は●ですが、連続して同じ方向に●は付けない条件としてD8は空白  - - - - A9とB9は共に空白なので、C9とD9は共に空白  ● - ● - A10は●なのでC10は●、B10は空白なのでD10は空白 A列は1,2,4,10行が● B列は6,8行が● ーーーーーーーーーーーーー 疑問 (1)A1が●なのでC2は空白、B2は●がないので空白 のA1は正しいか?ミスタイプ? (2)同じ方向に●は付けない条件として 同じ方向とは、列方向のこと? するとC10はなぜ●になる? C,Dはあわせて●にならない、というルールなら、D8の場合が納得いかないが? ーーーー プログラムを作る前段階として、質問者が、文章で課題を表現できるぐらいになって居ないと、プログラムをくめないものだ。 そういう訓練をすることが、プログラムとか、エクセル関数利用の基礎で必要だ。 回答者に頼りすぎ。 それと記号●でなくて、実際の事例で説明すれば、読者も世間常識の助けを借りて納得類推がやりやすい例かもしれないと思うが。

y_r_358
質問者

お礼

すみません。説明が苦手で、一生懸命書いたつもりでした。 でも、解決できました。 ご足労おかけしました。

回答No.2

'自分が持っているExcel 2003で書いたが、まぁ多分動くだろう。一応コードは割といい加減です。(データの最後まで、じゃなくて最初から10列って決め打ちしてたり、Sheet1って決め打ちしてたり、2列って決め打ちしてたり。VB.NETと違ってVBAってやる気しないんだよなあ…) Option Explicit Sub hoge() Dim current As Integer Dim i As Integer current = 0 For i = 1 To 10 If Me.Cells(i, current + 1).Value2 <> "" Then Me.Cells(i, current + 1 + 2).Value2 = Me.Cells(i, current + 1).Value2 current = (current + 1) Mod 2 End If Next End Sub '例だけで '結局は●を同じ列(A列)に連続して表示させない。但し違う列(B列)に●が過去あれば再度同じ列(A列)に●を表示させたい 'を予測するのは正直無茶だわ。 'https://cid-b89cb784f5346675.office.live.com/browse.aspx/TestCase/Q6361360

y_r_358
質問者

お礼

ありがとうございました。 イメージ通りのことが出来ました。 また、Sheet名の変更などの修正で標準モジュールにしたり、カスタマイズもできました。 今回は、頂いた関数が完璧なものを頂いたので、ベストアンサーにはお選びできませんでしたが、 とても、分かりやすく大変助かりました。 ありがとうございました。

  • yasheeki
  • ベストアンサー率20% (14/67)
回答No.1

先ず、A1(●)B1()の意味を教えていただけるといいと思います。 その後に続く同様のものを想像できるといいのですが。

y_r_358
質問者

補足

早速のご回答ありがとうございます。 Aの列と、Bの列にランダムに●が表示されています。 ●がない所は空白です。 なので A1(●)B1() → A1が●でB1が空白 A2(●)B2() → A2が●でB2が空白 A3()B3() → A3とB3は空白 A4(●)B4() → A4が●でB4は空白 A5()B5() → A5とB5は空白 A6()B6(●) → A6が空白でB6は● A7()B7() → A7とB7は空白 A8()B8(●) → A8が空白でB8は● A9()B9() → A9とB9は空白 A10(●)B10() → A10が●でB10は空白 を・・・・ C1(●)D1() →  A1が●なのでそのまま●とします。 C2()D2() → A1が●なのでC2は空白、B2は●がないので空白 C3()D3() → A3及びB3共に空白なのでここも空白 C4()D4() → A4は●ですが連続して同じ方向に●は付けない条件としてC4は空白、B4は空白なので空白 C5()D5() → A5とB5は共に空白なので、C5とD5も共に空白 C6()D6(●) → A6は空白なのでC6は空白、B6は●なのでD6は● C7()D7() → A7とB7は空白なので、C7とD7も共に空白 C8()D8() → A8は空白なのでC8は空白、B8は●ですが、連続して同じ方向に●は付けない条件としてD8は空白  C9()D9() → A9とB9は共に空白なので、C9とD9は共に空白  C10(●)D10() → A10は●なのでC10は●、B10は空白なのでD10は空白 結局は●を同じ列(A列)に連続して表示させない。但し違う列(B列)に●が過去あれば再度同じ列(A列)に●を表示させたいわけです。 説明が難しく申し訳ありません。 以上、宜しくお願い致します!

関連するQ&A

専門家に質問してみよう