- ベストアンサー
エクセルで行列要素の検索
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
NO1です。 セルの検索は「For Each rg In 検索範囲」 を使うと 指定したエリアをエクセルが順次調査してくれます。 offsetを使うとこうなります。 Sub test() Dim rg As Range For Each rg In Range("A1:j10") If rg.Value = "B" Then If rg.Offset(1, 0) = "C" And _ rg.Offset(-1, 0) = "A" Then Range(rg.Offset(1, 0).Address & ":" & rg.Offset(-1, 0).Address).Interior.ColorIndex = 3 End If End If Next rg End Sub
その他の回答 (3)
マクロをご所望(なぜかは不明)なので、別解ということで… 1.セル A1 に式 =CHAR(RANDBETWEEN(65,90)) を入力 2.セル A1 を次の[条件付き書式]に設定 セルの値が 次の値の間 ="A" と ="C" パターン色: 赤 3.セル A1 を範囲 A1:J10 に複写
- nishi6
- ベストアンサー率67% (869/1280)
同一列内で、行方向にA-B-Cと連続した場合、赤く塗る例です。 10×10の範囲を選択して実行します。 Sub checkABC() Dim r As Integer '// 行カウンタ Dim c As Integer '// 列カウンタ On Error Resume Next With Selection For c = 1 To .Columns.Count For r = 1 To .Rows.Count - 2 If .Cells(r, c) = "A" _ And .Cells(r + 1, c) = "B" _ And .Cells(r + 2, c) = "C" Then .Cells(r, c).Interior.ColorIndex = 3 .Cells(r + 1, c).Interior.ColorIndex = 3 .Cells(r + 2, c).Interior.ColorIndex = 3 End If Next Next End With End Sub 10×10の表をA1から作った場合、条件付書式で、A3に条件を =OR(AND(A1="A",A2="B",A3="C"),AND(A2="A",A3="B",A4="C"),AND(A3="A",A4="B",A5="C")) のようにしてもできるはずです。ただし、1行目、2行目、8行目、10行目は算式は変更する必要があります。
こういうことですか? ・選択範囲のセルを順次検索して値がBがどうか調べる。 ・その上のセル(offset(0,-1)がAで その下(offset(0,1)がCなら3つのセルの色を赤くする。
関連するQ&A
- エクセル初心者です
エクセル初心者です エクセルの教本らしきものをみながら実際にエクセルをいじってみました エクセルの教本では表の横列はABCといったアルファベットが並んでいて縦は123という数字がならんでます 。で表を作り、各セルに入力されてある数値を足したいとき教本では=b3+C3というように入力してエンターをおすとb3とC3に入力してある数値をたしたものの合計がででいます。 私もしてみたのですが私のパソコンはビスタでエクセル2007なのですが表の横列がアルファベットではなく縦も横も数字になっております。 この場合=b3+C3と入力しても正しく認識されざ#NAME?とでます。 私の表では横列がアルファベットでなく数字なのでBのとこを2 Cのとこを3にかえて計算=23+33としてエンターを押しても56とでて各セルのなかの数値同士を足したものがでてきません。 どうすればいいんですかね
- ベストアンサー
- オフィス系ソフト
- マクロで色の設定がしたいのですが・・・
こんにちは。 マクロで色の設定をしたいのですが、どうにもうまくいきません。 やりたいことは Sheet1に3×3の9つのセルを設定する Sheet2のA列に9行の枠を作る あらかじめ1は黒、2は灰色、3は・・・と1~15まで15色の色設定をしておく Sheet2の枠内に1~15の数字を入力したときに、Sheet1の9つのセル内の色が変わるようにしたいのです。 また、Sheet2のA1~A9がSheet1では3×3のセル設定なので 縦方向でも横方向でも進む順番は構わないのですが、 例えばSheet2:A1~A3=Sheet1:A1~A3、Sheet2:A4~A6=Sheet1:B1~B3、Sheet2:A7~A9=Sheet1:C1~C3と設定することは可能ですか? 現段階では、シート内でセルに直接数字を打ち込むと入力されたセルの色が変わるまでは出来たのですが、反映させることが出来ません。 宜しくお願い致します。
- 締切済み
- Visual Basic
- 「エクセルでのデータ検索」について
「エクセルでのデータ検索」について 基本的な質問ですいません。 エクセルで、以下のようなことをしたいのですが・・・ 【シートA】 A B C D E 1 ○ △ □ ◇ 2 あ ※ ※ ※ ※ 3 い ※ ※ ※ ※ 4 う ※ ※ ※ ※ (※は任意の数値) このとき、【シートB】に以下のように「◇」「う」と入力すると “B2”欄に【シートA】の“E4”(=「◇」と「う」の交差する位置) の値が出るようにしたいのです。 【シートB】 A B C D E 1 ◇ 2 う 3 4 ちなみに【シートB】に入力する値はその都度変わるので、VLOOKUPや INDEXではうまくいきませんでした。 実際は長めのマクロで行っている作業の内の一部ですので、「関数」でも 「マクロ」でも、どちらでも対応できます。 ご教示のほど、よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルでの行列の入換え
エクセルの表で A B C 1 970701 ○○ 1 001001 △△ 1 010801 ×× 2 980701 ●● 2 021001 ☆☆ となってる表を A B C D E F G 1 970701 ○○ 001001 △△ 010801 ××× 2 980701 ●● 021001 ☆☆ と入換えたいです。 Aのセルは社員番号で、3行もあれば、10行もあります。 行列を入換えて貼り付けていったのですが、 もっと簡単な方法がありますでしょうか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルシートの票データの置き換えについて、
エクセルのシートに (A1)から(D50)まで一覧表があり、それぞれ200個のセルに文字が入力されています。 これを別のシートに縦一列に並び替えたいのですが、 A1=(A1) A2=(B1) A3=(C1) A4=(D1) A5=(A2) A6=(B2) A7=(C2) A8=(D2) A9=(A3) A10=(B3) ・ ・ ・ A199=(C50) A200=(D50) 出来れば簡易言語で、それで無理ならマクロでも結構です。 よろしくお願いします。
- ベストアンサー
- Visual Basic
- Excel検索等関数
Excelのデータで同じ列の中に番号が重複している値を探し出しなおかつ任意の行数に出す関数はありますか? Sheet1 |Sheet2 A B | A B 1 あ 10 | 1 あ 10 2 あ 11 | 2 あ 11 3 い 21 | 3 い 21 4 う 22 | 4 ←A4:b4は、「い」が2行ないので空白 | 5 う 22 | 6 ←A6:b6も、「う」2行ないので空白 このように、縦の重複したセルを検索して、指定行数内の場合は、空白となる関数式があればお教えください。
- ベストアンサー
- オフィス系ソフト
- Excel(エクセル)での自動改行検索
Excel(エクセル)で 自動で縦書きを横書きにしたいのですが可能でしょうか? 例えば添付画像のように A1~C8の表を同じシート内の薄緑の部分が自動で表示されるようにしたいです。 セルE2~H4にどの様な式を入れればよいか教えてください! A列に対するB列の種類が3行と決まっていればわかったのですが、 セルA4の愛知のようにランダムで2行の時があり、 それに対応する式がまったくわかりません(ノД`)・゜・。 (マクロの仕方もわかりません) 本当に困っています ぜひお力添えのほど、よろしくお願い致します!!
- ベストアンサー
- オフィス系ソフト
- エクセルマクロで日付検索について
エクセルのマクロで日付を検索するマクロについて質問です。 ブックAのシート1のA列に A1 2017/3/13 A2 2017/4/1 A3 2017/4/19 A4 2017/5/16 A5 2017/7/17 A6 2017/9/5 というような日付が入っています。 ブックBのシート1のA1セルに2017/6/3と入力してマクロを実行した際に その日付に一番近い一つ前の日付を探し、見つけた日付のB列のセルを ブックBのシート1のA2セルに表示したいです。 今回の例であれば2017/6/3に対してブックAのシート1のA列はA4セルが当てはまり その当てはまったA4セルの1つ横のB4セルの内容をブックBのシート1のA2セルに表示するということです。 よろしくお願いします。
- 締切済み
- Excel(エクセル)
- エクセル教えてください
エクセルで縦・横セルに数値が入っている表があります。 全セルの数値から一度に同じ数値を引く方法を教えてください。 A1~A30 B1~B30 C1~C30・・・・・・ その一つ一つのセルから同じ数値を引きたいのです。 よろしくお願いします。
- 締切済み
- オフィス系ソフト
補足
そうです。まさにそれです。 比較はIFでなんとかなるとして、Bの検索のほうがどうすればよいかわかりません。