ベストアンサー 文字列があるセルを認識したい(エクセル VBA) 2012/11/04 13:15 画像のように、B列にNo.1~4、C列に品番、E列にNo.1~6、F列に品番の項目があります。 その場合、品番の列の文字列のあるなしを判断し、 C10の赤枠の中に○または×を入力するには どのようなコードを記入すればよろしいでしょうか? ○を入力する場合 C3~6とF3~8に文字列がC列とF列を合計して、計1つ以上ある場合 ×を入力する場合 C3~6とF3~8が全て空白の場合 よろしくお願い致します。 エクセルは2010と2007を使用しております。 画像を拡大する みんなの回答 (2) 専門家の回答 質問者が選んだベストアンサー ベストアンサー mu2011 ベストアンサー率38% (1910/4994) 2012/11/04 18:28 回答No.2 一例です。 C10に=IF(COUNTA(C3:C6,F3:F8),"○","×") 因みにVBAは不要と思いますので省略します。 質問者 お礼 2012/11/04 23:33 勉強になりました。 応用して仕事で使わせていただきます。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 その他の回答 (1) KURUMITO ベストアンサー率42% (1835/4283) 2012/11/04 18:00 回答No.1 関数ならば次の式を =IF(COUNTIF(C3:C6,"?*")+COUNTIF(F3:F8,"?*")>0,"○","×") マクロならば次のコードを使用すればよいでしょう。 Range("C10").Select ActiveCell.FormulaR1C1 = _ "=IF(COUNTIF(R[-7]C:R[-4]C,""?*"")+COUNTIF(R[-7]C[3]:R[-2]C[3],""?*"")>0,""○"",""×"")" Range("C11").Select 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ [技術者向] コンピュータープログラミング・開発Visual Basic 関連するQ&A 同じ文字列がある場合、行を合わせたい A列に品番、B列に型式、C列に数量、D列に品番、E列に型式、F列に数量の 項目があります。 A列~C列とD列~F列をそれぞれ一つの固まりとします。 A列(赤枠)とD列(青枠)の品番がそれぞれ同じ場合、 A列~C列とD列~F列の行を合わせたいのですが、 その場合、エクセル、VBAではどのようなコードを記入すればよろしいでしょうか? ※添付図参照ください ※リストの数は、毎回違います。 エクセルは2010,2007を使用しております。 回答よろしくお願い致します。 エクセルVBAマクロですこし変わった合計の方法 添付画像左のように、A列に1~4、4(1)~(3)までナンバーが記入されており、B列C列には数値が含まれているとき、( )が存在している場合のみ( )が存在しないナンバー(例の場合は4)のB列C列に( )があるナンバー(例の場合(1)~(3))の合計を添付画像右がわのように表示させたいとき、どのようなマクロを組めばできますでしょうか。 全てお願いしてしまいますと、コードも長くなってくるのではないかと思われますので、画像では入力シートから表示シートに切り替わっているということですが、入力シートの空白セルへの表示でもかまいません。 ( )つきナンバーのB~後の値を( )なしナンバーのB~後に合計できる方法をお教え頂ければ幸いです。 Excelの空白文字列 "" と空白セルについて Excelのある項目がブランクだったら計算をさせる式をくみこんだのですが、そのある項目が本当にブランクだったらOKなのですが、空白文字列 ""の場合に計算がされません。 空白文字列 ""をブランクとみるようにするには、どうしたらよいでしょうか。 よろしくお願いします ネットワークエンジニアとは?技術職の未来を考える OKWAVE コラム EXCELで、文字に関連したセルだけの合計を求める 簡単な例で説明します。 以下のような表があったとします。 1 2←列番号 ○ 10 ○ 10 × 5 ○ 10 上記の2列目の合計は35ですが、このうち1列目が○の項目の合計だけを求めたいです。 「2列目の合計を求めよ、ただし1列目が○の項目に限る」(→答えは「30」になります。) という関数はあるでしょうか? なお1列目は数字ではなく文字であることが条件です。 EXCELの入力規則でリスト入力をさせたいセルがあります。 そのときのリスト項目ですが、例えばA列に北海道、青森、秋田・・・などの都道府県名が入っており、C列に○か空白が入力されている表があるとします。また行の数は47とします。 (○か空白の意味は、県庁所在地と都道府県名が同じ名前なら○(例に、新潟県と新潟市)、それ以外なら空白(三重県と津市)だとします) C列が"○"の場合のみA列のデーターをみて、それらをリスト項目と してダウンリストで選べるようにしたいのですが、どのようにしたらよろしいでしょうか? VBAのコードでなければできないようですか?教えてください。 よろしくお願いします。 同列に文字入力があるまで隣列の個数を合計 excelシートに以下のような表があり別表に下記項目に基づき合計値を入力したい。 1. I3セルにD列項目「あ」のうちB列記号「A+B+C」のF列個数合計を入力 2. J3セルにはD列項目「あ」のうちB列記号「D」のF列個数合計を入力 3. I4セルにD列項目「い」のうちB列記号「A+B+C」のF列個数合計を入力 4. J4セルにはD列項目「い」のうちB列記号「D+E」のF列個数合計を入力 以下続くのですが関数もしくはVBAコードが解る方宜しくお願いします。 エクセルVBA及び関数 初心者です。お教えお願いします エクセル2003です 空白行及び0をなくしたいのですが(C列を入力された時点で自動でE列のようにしたい) 関数の場合及びVBAのシートコードを両方教えていただけないでしょうか VBAのコードは勉強の為です Sheet1 A B C D E F 16 文字A 文字A 17 文字B 文字B 18 0 文字C 19 文字C 文字D 20 0 文字E 21 文字D 文字F 22 23 文字E 24 25 文字F 文字はC16~C80まで入っております B16~E80までのセルのみで行いたいのですが 他の場所は関数やグラフ等がすでに入ってますのでいじりたくありません E16~をフォームのコンボボックスのリストにしようと思ってます よろしくお願いましす Excelで複数の列の中の文字を一列に並べる! Excelに関して質問です。 複数の列に入力されている文字を一つの列にまとめる方法が知りたいです。 その際、文字が入力されていない箇所は詰めて並べたいと思います。 範囲はB4~AD83の間です。 ただ、状況として範囲内の空白には書式(関数)が入っている状態です。 例 A B C D E 1文字1 空白 文字2 文字3 空白 2空白 文字4 文字5 空白 空白 F 文字1 文字2 文字3 文字4 文字5 何卒、ご教授よろしくお願いします。 特定の列、セル内の数字を認識して行をコピー、挿入 エクセルのマクロでこんなことは可能でしょうか? (1)あるセルに(数字)が入ったとき (そのセルの列は固定) (2)自動的にそのセルの「行」全体をコピーして その数字が5なら4行、1なら0行 (入力値より-1行) (3)ひとつ下の行に「コピーしたセルの挿入」で行の追加をする (4)最終行はコピーしない(合計の数字が入ってしまう為) 例 列 A.B.C.D.E 空白.文字列.文字列.1.文字列 空白.文字列.文字列.2.文字列 空白.文字列.文字列.3.文字列 空白.文字列.文字列.2.文字列 空白.文字列.文字列.8.文字列←合計の為コピーしない ↓ 空白.文字列.文字列.1.文字列 空白.文字列.文字列.2.文字列 空白.文字列.文字列.2.文字列 空白.文字列.文字列.3.文字列 空白.文字列.文字列.3.文字列 空白.文字列.文字列.3.文字列 空白.文字列.文字列.2.文字列 空白.文字列.文字列.2.文字列 空白.文字列.文字列.8.文字列←合計の為、そのまま Cの列に3とある場合下に 【3行-(1行) = 2行】を追加コピー 空白.文字列.文字列.3.文字列 の部分。 できれば、コマンドボタンで処理したいと考えております。 お詳しい方、ご教授宜しくお願い致します。 Excelでセルの関連づけを行う Excelについて質問です。 1の列には日付が並んでいます。そして2の列以降には,空白セルと入力セルがあります。以下の通りです。 A B C D E F 1 5/2 5/3 5/4 5/5 5/6 2 ○ ○ 5/4 3 ○ ○ 5/6 ※幅が等間隔のフォントで見てください。 この時,2および3の列に入力されたセルが2カ所ずつありますが,それぞれ一番最近についての文字入力の日付をFに返したいのですが,どのような関数を使えばできるでしょうか?(入力文字は実際は○ではなく,いくらか種類があります) おわかりの方がおられましたらよろしくお願いします。 Excelでマクロを使用して、列を表示させる質問です。 Excle2003での質問です。 C3セルからAE78セルまでにデータが入力されています。 C列には項目名・3行には氏名が並んでいます。 D4セルからAE78セルには、 各人に対応する項目に○や△等が記入されています。 (空白セルもあります) A1セルに氏名を記入して(3行目のリストから選択して)、 マクロを実行させると、 1.氏名を一致する氏名の列のみを表示して、 2.オートフィルタで空白以外の行を表示する。 (ただしC列の項目名は表示されたまま) このようなマクロを組みたいのですが、 初心者の私ではまったく分かりませんでした。 どなたかご教授いただけたらと思います。 よろしくお願いいたしますm(_ _)m 文字列を数値として認識させる方法 Excelで次のような表を作っています。 項目A 1 項目A 1 項目B 2 項目A 1 項目C 1 このように並んでいる表を集計して、次のようにまとめます。 項目A 3 項目B 2 項目C 1 最初にデータを入力するとき、ほとんどの数値は「1」なので、項目を入力したら数値「1」が自動的に入力できるよう次の関数を使っています。 =IF(ISTEXT(A1),"1","") そして、2以上の数値が必要な場合は、「1」と自動入力されたところに、正しい数値を上書きして入力しています。 このとき、上書きした数値は数値として集計に反映されていますが、自動入力された「1」は文字列と判断されているようで、集計に反映されていません。 自動入力された「1」を数値として認識させるには、どのようにしたらいいでしょうか? AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム excelの文字列の操作について A列、C列、E列、G列・・・の1行目にはタイトルが入力されており、 B列、D列、F列、H列・・・には不特定の文字列が入力されており、それぞれ行数も不特定です。 A列、C列、E列、G列・・・の1行目のタイトルはA列にまとめ、B列、D列、F列、H列・・・の文字列はB列にまとめたいです。 下の例の場合だと、C列の1行目のタイトルをB列の下端の左下にあたる(A7)に移動させ、 D列の2行目から入力された文字列を右となりの(B7)に移動させたいです。これの繰り返しです。 A列 B列 C列 D列 1 あ A い 2 B a 3 C b 4 D c 5 E 6 F ↓ A列 B列 C列 D列 1 あ A 2 B 3 C 4 D 5 E 6 F 7 い a 8 b 9 c よろしくお願いします。 エクセルでの文字列と空白セルの取り扱い =IF(A1>=100,"○","×") エクセルなんですけど、上の式でA1を空白にすると、×がでますが、 空白セルはゼロと判定されるからですか? また、A1に適当な文字列をいれると、○が表示されますが、これはなんででしょうか?教えてください エクセルVBA、列のコピーについて VBAについて助けてほしいことがございます! VBA初心者なので、ひょっとしたらレベルの低い質問かもしれず申し訳ないのですが、VBAに詳しい方がいらっしゃれば教えて欲しいことがあります。 下記の前提を含めた作業内容をVBAのコードとしてまとめる事は出来るのでしょうか? 1列目(A1,B1,C1,D1…)にキー項目(名前、番号、地域、住所、ID…)、2列目以降にキー項目のデータが入力されています。 【作業内容】 「ID」の項目の列には、「番号」の列の文字をコピーして貼りつける(キー項目は上書きせずにIDのまま)。 【前提】 ・キー項目の列は固定されていない(B列が番号の時もあれば、住所の時もある)ので、文字を基準にコピー作業をする ・「キー項目が空欄にぶつかったら、検索を終了」という事をループに入れる(キー項目数は変動するため) ・2列目以降の全てのデータをに張り付ける」という事をコードに入れる(2列目以降のデータの列数も変動する且つ途中に空欄も含むため) エクセルVBAについて VB初学者です。 この度上司命令にて多少かじり始めました。(今まで完璧な文系人間で生きてきました) 2点伺わせていただきます。 (1) Sub aaa() Range("A1:F10") .select With Selection . . . . End With End Sub この際("A1:F10") に限定せず、このマクロをどのセルにも適応するようにするにはどのようにしたらよろしいのでしょうか。なお、インプットボックスは使わずに、任意のセル(或いはセル範囲)に適応させることは可能なのでしょうか。 (2) A列に文字が入力されているセルと空白セルが混在しているとします。 A列を参照して空白の場合、同行のB列に何らかの記号を出力する処理場合のコード (A列が空白でない場合B列には何も出力しない) どなた様かご教示いただけますと大変助かります。 よろしくお願いいたします。 エクセルVBA/抽出・貼付け 下記を行いたいのですが、どのようなコードになるのでしょうか? シート001(入力用) (1)A1~A50、B1~B50、C1~C50、D1~D50 に数値、E1~E50に文字列 (2)F1~F50、G1~G50、H1~H50、I1~I50 に数値、J1~J50に文字列 ※空白行混在 シート002(計算用) シート001に作ったコマンドボタン:クリックにより、 シート002を表示させ、A1~E100に、 シート(1)のA1~E50とF1~J50の空白行以外を連続して 反映させたい。並べ替え用など別シートを用いずに、 VBAコード内で処理したい。 エクセルでのVBA(マクロ)が出来ますか? 帳票の整理で困っています。 以下のようなデータがシート1に入力されています。 A B C D E F 1名前 住所 請求書 納品書 領収書 到着確認書 2山田 東京 ○ ○ 3井上 千葉 ○ ○ ○ 4植田 大阪 ○ ○ 5境 秋田 ○ ○ 6大田 沖縄 ○ ○ ○ ○ 7野原 埼玉 ○ データの”○”は書類が確認済で、空白は未確認あるいは未到着です。 "C"列から"F"列の中で1つ以上空白のあるデータを検索して別シート2へそのままコピー出来るマクロ、そしてシート2に表示されたデータで空白となっている"C"列から"F"列の項目名(請求書等)をシート3に用意してあるあいさつ文の書類名入力セル(ここではE10としておきます)に記入できるマクロがさっぱり分かりません。 データ件数は1000件以上になるかと思います。 どなたかお助けください。 エクセル 特定文字列のセル番号を返したい 宜しくお願いいたします。(エクセル2013) B1:F1の範囲内に、「AAA」という文字列があり、その文字列のセル番号をまず、初めに返したいと考えています。 そして最終的に、AAAの右隣のセルに入っている数値を返したいのですが、どうもうまくいきませんm(__)m またAAAがない場合は、空白で返したいです。 H2とG2に入れる数式をご教授お願いいたします。 空白と空白じゃないセルを判断するには? いつもお世話になっております。 条件により別のセルへ文字列を入力するという物を組みたいのですが、あてはめるべき表現の仕方がわからなくて困っております。 例で申しますと、 D列とE列に文字列が入っていたり空白だったりするセルが存在します。 条件は 「D列に何かしらの文字列が入っていて(特に決まった形が無い)、E列は空白の時だけ、F列へ「■」と入力し、G列は空白とする。」 「それ以外の条件はすべて、F列は空白、G列には「□」と入力する」 と、いうようにしたいのですが、空白は Dim i As Long For i = 3 To Range("B65536").End(xlUp).Row If Range("D" & i).Value = "" Then のように表現すればよいのかと思ったのですが、 「空白ではない」場合の条件をどのようにすればよいのかわかりません。(その為、全文を作る段階へ進めておりません。) |D|E|F|G 1|あ| |■| 2|あ|え| |□ 3| |か| |□ 4| | | |□ 「空白ではない」と判断するコードの書き方をお教えいただきたく、よろしくお願いいたします。 環境はWindowsXP、Excel2003です。 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ [技術者向] コンピューター プログラミング・開発 Microsoft ASPC・C++・C#CGIJavaJavaScriptPerlPHPVisual BasicHTMLXMLCSSFlashAJAXRubySwiftPythonパフォーマンス・チューニングオープンソース開発SEOスマートフォンアプリ開発その他(プログラミング・開発) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
お礼
勉強になりました。 応用して仕事で使わせていただきます。